9.1. 책 수정 기능 개요
책 수정을 위한 기능을 만들어 보겠습니다.책 수정 화면 /book/edit/1 에서 저장 버튼을 클릭할 경우 기존 책의 정보를 갱신합니다.아울러 유효성 검사를 하는 법도 함께 알아봅니다.
- 스프링 부트 하루만에 배우기
- · 2024. 7. 23.
BookController 클래스에 422 오류가 났을 경우 처리할 메소드를 추가합니다. 422 오류는 "책 정보가 없을" 경우에도 나지만, "유효성 검사가 실패할 경우"에도 난다고 가정합니다.src/main/java > com.yse.dev.book > BookController.javaprivate ModelAndView error422(String message, String location) { ModelAndView mav = new ModelAndView(); mav.setStatus(HttpStatus.UNPROCESSABLE_ENTITY); mav.addObject("message", message); mav.addObject("location", loc..
책 정보를 수정하는 기능은 "책 정보를 읽어서 매개변수로 채운 후 저장"하는 과정입니다. 간단하게 구현해 보겠습니다.src/main/java > com.yse.dev.book.service > BookService.javapublic void update(BookEditDTO bookEditDTO) throws NoSuchElementException { Book book = this.bookRepository.findById(bookEditDTO.getBookId()).orElseThrow(); book = bookEditDTO.fill(book); this.bookRepository.save(book); } 데이터를 데이터베이스에 저장할 때 실행된 SQL 쿼리..
클라이언트에서 수정할 책 정보를 보내줬을 때 담는 객체인 DTO를 만듭니다. 기본적인 형태인 책 생성 DTO를 복사해서 몇가지 기능을 추가해 보겠습니다.src/main/java > com.yse.dev.book.dto > BookCreateDTO.java를 복사해서 BookEditDTO.java 파일로 만들어 주세요. 그리고 아래와 같이 수정합니다.src/main/java > com.yse.dev.book.dto > BookEditDTO.javaCopypackage com.yse.dev.book.dto; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation..
스프링 부트 2.3 버전 이전에는 spring-boot-starter-web 의존성 안에 spring-boot-starter-validation 라이브러리가 포함되어 있었습니다. 하지만 스프링 부트 2.3 버전부터는 제외되어서 수동으로 추가해줘야 합니다.build.gradle 안에 dependencies 안에 의존성을 추가합니다.build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-validation' package explorer의 프로젝트 최상위 우클릭 -> Gradle -> Refresh Gradle Project를 차례로 클릭해서 라이브러리를 다운로드합니다.이렇게 설치된 유효성 검사 ..
책 수정을 위한 기능을 만들어 보겠습니다.책 수정 화면 /book/edit/1 에서 저장 버튼을 클릭할 경우 기존 책의 정보를 갱신합니다.아울러 유효성 검사를 하는 법도 함께 알아봅니다.
이제 서버를 실행해서 웹 브라우저에서 직접 확인해 보겠습니다.ctrl + alt + shift + b => D를 누르거나 Boot Dashboard => local => onedayboot[:8080] => (Re) Debug를 차례로 눌러 디버깅 모드로 서버를 시작합니다.브라우저에 http://localhost:8080/book/edit/1 주소로 접속 후 잘 나오는지 확인합니다.