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 로 사용하여 그룹맵핑한 컨트롤부분의 겟과 포스트 방식으로 사용하게됩니다 .
(예시)
포스트맨 사용방법은 다음에 포스트하기로하겠습니다 ^^
반응형