티스토리 뷰
@DeleteMapping(value = "/cartItem/{cartItemId}")
public @ResponseBody ResponseEntity deleteCartItem(@PathVariable("cartItemId") Long cartItemId,
Principal principal){
if (!cartService.validateCartItem(cartItemId, principal.getName())) {
return new ResponseEntity<String>("수정권한이 없습니다.", HttpStatus.FORBIDDEN);
}
cartService.deleteCartItem(cartItemId);
return new ResponseEntity<Long>(cartItemId, HttpStatus.OK);
그런데 delete 자체를 id로도 할 수 있을 것이다.
원코드는
public void deleteCartItem(Long cartItemId){
CartItem cartItem = cartItemRepository.findById(cartItemId).orElseThrow(EntityExistsException::new);
cartItemRepository.delete(cartItem);
이건데,
cartItemRepository.deleteById(cartId);
이 코드도 가능하다.
취향 차이.
전자는 없으면 예외가 터지고,
후자는 없으면 그냥 무시된다. 아무 일도 일어나지 않게 된다.
public void deleteCartItem(Long cartItemId) {
CartItem cartItem = cartItemRepository.findById(cartItemId)
.orElseThrow(EntityNotFoundException::new);
cartItemRepository.delete(cartItem);
}
서비스 코드
'[개발] - Spring > SpringShop' 카테고리의 다른 글
shop 구현 (17) 장바구니에서 상품 주문하기 (0) | 2023.07.24 |
---|---|
shop 구현 (16) 장바구니 담기, 장바구니에 내역 조회 (0) | 2023.07.24 |
shop 구현 (15) 주문 취소하기 (0) | 2023.07.22 |
shop 구현 (14) 주문 이력 조회 (0) | 2023.07.22 |
shop 구현 (13) 주문 기능 구현 (0) | 2023.07.21 |