개발/Junit
⑧Junit Controller 책 리스트, 책 Search, 수정, 삭제
외노자개발
2022. 10. 22. 18:30
반응형
2. Book List
@GetMapping("/api/v1/book")
public ResponseEntity<?> getBook() {
BookListRespDto bookListRespDto = bookService.bookList();
return new ResponseEntity<>(CMRespDto.builder().code(1).msg("BookList成功").body(bookListRespDto).build(),
HttpStatus.OK); // 200 = OK , saveした、BODYデータを一緒に戻り値に上げる
}
먼저 @GetMapping // 은 이 URL을 넣게 되면 값을 반환 해준다. (특별히 값을 넣지 않아도)
BookList는 등록과 같은 게 많으므로 넘어 가겠습니다.!!
3. Book Search
//3. book search
@GetMapping("/api/v1/book/{id}")
public ResponseEntity<?> searchBook(@PathVariable Long id) {
BookRespDto bookRespDto = bookService.booksSearch(id);
return new ResponseEntity<>(CMRespDto.builder().code(1).msg("BookSearch成功").body(bookRespDto).build(),
HttpStatus.OK);
}
여기도 Get이지만 URL Path가 마지막에 {id} 를 가지고 있습니다. 이것은 id로 값을 받기 때문이다.
@PathVariable // 이것은 방금 말한 것처럼 URL Path에서 오는 값을 말한다. 이번엔 id하나 이기 때문에 Long id를 지정하였다.
4. Book Delete
//4. book delete
@DeleteMapping("/api/v1/book/{id}")
public ResponseEntity<?> deleteBook(@PathVariable Long id) {
bookService.bookDelete(id);
return new ResponseEntity<>(CMRespDto.builder().code(1).msg("BookDelete成功").body(null).build(),
HttpStatus.OK);
}
BookDelete도 특별한 것은 없으므로 패스 하겠습니다.!
5. Book Update
//5. book Update
@PutMapping("/api/v1/book/{id}")
public ResponseEntity<?> updateBook(@PathVariable Long id, @RequestBody @Valid BookSaveReqDto bookSaveReqDto,
BindingResult bindingResult) {
if(bindingResult.hasErrors()) {
Map<String, String> errorMap = new HashMap<>();
for (FieldError fe : bindingResult.getFieldErrors()) {
errorMap.put(fe.getField(), fe.getDefaultMessage());
}
throw new RuntimeException(errorMap.toString());
}
BookRespDto bookRespDto = bookService.bookUpdate(id, bookSaveReqDto);
return new ResponseEntity<>(CMRespDto.builder().code(1).msg("BookUpdate成功").body(bookRespDto).build(),
HttpStatus.OK);
}
마지막으로 BookUpdate 이기 때문에 PutMapping을 사용 ..
그 외에는 특별한 것이 없으므로 여기서 끝내겠습니다. 다음은 Controller Junit Test로 공부 하도록 하겠습니다.
반응형