- 아임포트 결제 api 를 연동시켰음. 결제Api 구현
- 위시리스트 구현 위시리스트 구현
- 컨트롤러에서 컨트롤러로 이동해야할 경우, "forward:~"와 "redirect:~"의 차이점.
: 위시리스트를 구현하면서 위시리스트의 상품을 장바구니로 옮길 때, 처음에는 바로 장바구니 서비스의 컨트롤러로 이동했었다. 오늘 이동한 상품을 위시테이블에서 지우기 위해 위시서비스의 컨트롤러로 이동후 다시 장바구니 서비스의 컨트롤러로 이동하는 로직을 짜게 되었다. 이 부분에서 데이터를 전달해주기 위해 "forward"방식으로 컨트롤러 간의 이동을 했었는데, 404 에러를 마주하게 되었다.
- forward와 redirect의 차이점 : https://iamyourfavorite.tistory.com/157
@RequestMapping("wishList")
....
@GetMapping("moveCart.do")
public String moveCart(CartVo cartVo, Authentication auth) {
MemberDetails memberDetails = (MemberDetails) auth.getPrincipal();
WishVo wishVo = new WishVo(cartVo.getItemId(), memberDetails.getUsername());
service.removeItem(wishVo);
log.info(cartVo);
return "forward:../purchase/add.do";
}
@RequestMapping("purchase")
...
@RequestMapping("add.do")
public String addtoCart(CartVo cartVo, HttpSession session) {
log.info(cartVo);
List<CartVo> list = null;
Object listObj=session.getAttribute("list");
if(listObj==null) {
list = new ArrayList<CartVo>();
}else {
list=(List<CartVo>)listObj;
}
String itemId= cartVo.getItemId();
Book book= service.getBook(itemId);
log.info(book);
cartVo.setBook(book);
int vol=cartVo.getVol();
long price= book.getB_price();
long total= vol*price;
cartVo.setBook(book);
cartVo.setTotal(total);
list.add(cartVo);
session.setAttribute("list",list);
return "redirect:cart.do";
return "redirect:../purchase/cart.do";
}