장바구니 담기

Codren·2021년 10월 7일
1

Spring Boot 쇼핑몰

목록 보기
29/32

Section 1. 장바구니 담기

1. CartItemDto

  • 제품 상세 페이지에서 장바구니에 담을 상품 Id 와 수량을 전달 받을 DTO 객체 생성




2. Cart Entity

  • 회원 한 명당 1개의 장바구니를 갖으므로 처음 장바구니에 상품을 담을 때는 해당 회원의 장바구니를 생성해야함
  • 멤버를 파라미터로 받아서 장바구니를 생성하는 static 메소드 추가




3. CartItem Entity

  • 장바구니에 담을 CartItem 객체를 생성하는 메소드 추가
  • 장바구니에 담겨 있는 상품을 또 장바구니로 담았을 경우 수량을 증가시키는 메소드 추가




4. CartRepository

  • 현재 로그인한 유저의 장바구니(Cart)를 찾기 위해서 쿼리 메소드 추가




5. CartItemRepository

  • 상품이 장바구니에 들어있는지 조회하는 쿼리 메소드 추가




6. CartService 생성

  • 유저의 장바구니가 존재하지 않다면 생성
  • 장바구니 안에 해당 상품이 존재한다면 수량을 증가시키고, 그렇지 않다면 추가




7. CartController 생성

  • 제품 상세 페이지에서 넘어온 CartItemDto 객체와 email 을 파라미터로 CartService.addCart() 메소드를 수행




8. 장바구니 담기 테스트

  • 클래스 생성 및 DI

  • 장바구니 담기 테스트

  • Junit 테스트에서 DI 를 lombok 의 @RequiredArgsConstructor 어노테이션으로 지정할 시 에러 발생 (참고)




9. 제품 상세 페이지 장바구니 담기

  • "장바구니 담기" 버튼을 누르면 수행되는 Ajax 코드

  • "장바구니 담기" 버튼을 누르면 Ajax 코드 수행되게 설정

0개의 댓글