8.5. 책 수정 화면 컨트롤러 메소드 추가하기

책 수정 화면 컨트롤러는 사실상 "읽기"와 동일하고 반환하는 뷰와 DTO만 다릅니다. 이럴 경우 read 메소드를 복사하는 것도 한 방법이지만 기왕 @ExceptionHandler를 만들었으므로 활용해 보겠습니다.

src/main/java > com.yse.dev.book > BookController.java

@GetMapping("/book/edit/{bookId}")  
public ModelAndView edit(@PathVariable Integer bookId) throws NoSuchElementException {  
    ModelAndView mav = new ModelAndView();  
    BookEditResponseDTO bookEditResponseDTO = this.bookService.edit(bookId);  
    mav.addObject("bookEditResponseDTO", bookEditResponseDTO);  
    mav.setViewName("book/edit");  
    return mav;  
}  

try - catch 문이 사라졌으므로 코드가 훨씬 간결해지고 반복되는 코드가 없어졌습니다. 즉, edit 메소드는 오로지 데이터를 가져와서 뷰에 보여주는 코드만 있으므로 더 가독성이 좋아집니다.