🔍 Controller

@DeleteMapping("/user/cart/{id}")
public ResponseEntity<List<ResponseCart>> deleteCart(HttpServletRequest request, @PathVariable Long id, @RequestParam(value = "size") String size) {
    List<ResponseCart> cartList = cartService.deleteCart((User) request.getAttribute("user"), id, size);
    return (cartList != null) ?
            ResponseEntity.status(HttpStatus.OK).body(cartList) :
            ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}

CartServicedeleteCart함수를 호출하고 결과에 따라 200 또는 400의 status code를 반환

🔍 Service

@Override
public List<ResponseCart> deleteCart(User user, Long product_id, String size) {
    Product product = productRepository.findById(product_id).orElse(null);

    if(user == null || product == null) {
        return null;
    }
    Boolean check_same = cartRepository.findSameCart(user.getId(), product_id, size, DELETE);

    if(!check_same) {
        return null;
    }

    return readCart(user);
}

ProductRepository 를 이용해 product_id 에 대한 엔티티를 받아옴

CartRepositoryfindSameCart 를 이용해 내 장바구니에 같은 상품이 있는지 여부를 알아옴 → 있다면 check_same 이 true 없다면 false

장바구니에 같은 상품이 없을 땐 null 반환

장바구니에 같은 상품이 있을 땐 Repository 안에 로직 수행

그 후 Repository반환 작업링크와 같은 작업으로 수행