천쓰의 개발동산

10月-JAVA(JDBC) 와 REACT를 활용한 미니프로젝트 -(백엔드편) 본문

JAVA/SPRINGBOOT

10月-JAVA(JDBC) 와 REACT를 활용한 미니프로젝트 -(백엔드편)

인천쓰 2024. 1. 11. 20:57
반응형

이번 프로젝트는 10월부터 한달간 진행한 프로젝트 입니다 .

 

JAVA의 JDBC와 ORACLE은 전과 동일 한 느낌이며, 바뀐것은 REACT로 통신해줄 RESTFUL-API인데요 

 

자세한내용은 9월 진행한 프로젝트 게시물을 확인해주세요!

[JAVA] - 9月 - JDBC 을 활용한 DB관리 미니프로젝트 연습

 

기존의 dao와 vo의 사용방식은 같으며,   

VO에 lombok의  @Getter @Setter의 이노테이션을 사용하여 깔끔하게 사용하였습니다 .

import lombok.Getter;
import lombok.Setter;

import java.util.Date;

@Getter
@Setter
public class SellVO {
    private String userid;
    private String sale_num;
    private String item_num;
    private String i_date;
    private Integer date_num;
    private Integer person;
    private Integer price;
    private String title; // 상품명 조인

}

 

이번에 새로 넣은 RESTFUL-API 컨트롤러 입니다. 이것을 프론트엔드인 REACT로  JSON형식의 데이터를  AXIOS로 받아 사용하게됩니다 .

package wonderwalker.project.mini.controller;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import wonderwalker.project.mini.dao.GoodsDAO;
import wonderwalker.project.mini.vo.GoodsVO;
import wonderwalker.project.mini.vo.SellVO;

import java.util.List;
import java.util.Map;

@CrossOrigin(origins = "http://localhost:3000")
@RestController
@RequestMapping("/Goods")
public class GoodsController {
    //상품리스트
    @GetMapping("")
    //조회정보 가져올떈 리퀘어파람으로 id값 뺴오기
    public ResponseEntity<List<GoodsVO>> GoodsList(@RequestParam String world,String area,Integer count){

        System.out.println(" world :  " + world);
        GoodsDAO dao =new GoodsDAO(); //로그인
        List<GoodsVO> list = dao.GoodsList(world,area,count);
        //맴버 리스트 리턴해줌
        return new ResponseEntity<>(list,HttpStatus.OK);
    }

    @GetMapping("info")
    //조회정보 가져올떈 리퀘어파람으로 id값 뺴오기
    public ResponseEntity<List<GoodsVO>> GoodsInfo(@RequestParam String itemCode){

        System.out.println("itemcode: "+itemCode);
        GoodsDAO dao =new GoodsDAO(); //로그인
        List<GoodsVO> list = dao.GoodsInfo(itemCode);

        System.out.println("테스트중"+list.get(0).getDeparture_num());
        //맴버 리스트 리턴해줌
        return new ResponseEntity<>(list,HttpStatus.OK);
    }
    //상품판매
    @PostMapping("/Complete")
    public ResponseEntity<Boolean> ItemSales(@RequestBody Map<String, String> salesInfo) {

        String userId =salesInfo.get("id");
        String itemNum =salesInfo.get("itemNum");
        String i_Date =salesInfo.get("i_date");
        String date_num =salesInfo.get("date_num");
        String person =salesInfo.get("person");
        String price =salesInfo.get("price");

        System.out.println("되겠냐?");

        GoodsDAO dao = new GoodsDAO();
        boolean isTrue = dao.Itemsales(userId,itemNum,i_Date,date_num,person,price);
        System.out.println(isTrue);
        return new ResponseEntity<>(isTrue, HttpStatus.OK);
    }

 

추가로 포스트맨으로 확인할수있는데요,  @RequestMapping("/Goods") 는 http://localhost:3000/Goods 으로 확인을하며 그룹맵핑이라고 생각하면 좋을꺼같습니다 .

그뒤에 @GetMapping("/Complete") 은 http://localhost:3000/Goods/Complete 로 사용하여 그룹맵핑한 컨트롤부분의 겟과 포스트 방식으로 사용하게됩니다 .

 

(예시)

 

포스트맨 사용방법은 다음에 포스트하기로하겠습니다 ^^ 

반응형