10번에서 했던 것처럼 해보면 주문 목록에 값이 넘어 온 것을 볼 수 있다.
여기서 이제 상품 취소하기 버튼을 통해 주문을 취소해보자!
OrderController
@GetMapping("/delete_order")
public String delete_order(@RequestParam("isbn") String isbn) {
log.info("주문 내역 페이지에서 상품을 삭제합니다.");
orderService.deleteOrder(isbn);
return "redirect:/home";
}
OrderService
//상품 주문 취소 (주문 하기 페이지)
public void deleteOrder(String isbn) {
Order order = orderRepository.findByIsbn(isbn);
if (order != null) {
orderRepository.delete(order);
} else {
throw new EntityNotFoundException("OrderBook with ISBN " + isbn + " not found");
}
}
상품이 존재하지 않을 때 상품을 삭제하면 당연히 오류가 나기 때문에 "EntityNotFoundException"라는 예외를 터트려준다.
상품이 존재할 때는 delete해준다.
이제 다 되었으면 버튼 클릭시,
상품 취소가 잘 되었음을 알 수 있다.