1. 수정, 삭제 - Controller
@PutMapping("post/{id}")
@ResponseStatus(value = HttpStatus.OK)
public SuccessResponse<PostDTO> updatePost(@Valid @RequestBody PostDTO postDTO, @PathVariable(name = "id") Long postId) {
PostDTO postDTOResponse = postService.updatePost(postId, postDTO);
return SuccessResponse.success(postDTOResponse);
}
@DeleteMapping("post/{id}")
@ResponseStatus(value = HttpStatus.OK)
public SuccessResponse<String> deletePost(@PathVariable(name = "id") Long postId) {
postService.deletePost(postId);
return SuccessResponse.success(null);
}
2. 수정, 삭제 - Service
public PostDTO updatePost(Long postId, PostDTO postDTO) {
Optional<Post> byId = postRepository.findById(postId);
Post post = byId.orElseThrow(() -> new PostNotFound("해당 포스트가 존재하지 않습니다."));
post.changeTitle(postDTO.getTitle());
post.changeContents(postDTO.getContents());
return PostDTO.builder()
.id(post.getId())
.build();
}
public void deletePost(Long postId) {
Optional<Post> byId = postRepository.findById(postId);
Post post = byId.orElseThrow(() -> new PostNotFound("해당 포스트가 존재하지 않습니다."));
postRepository.delete(post);
}
}
전체 코드는 여기서 볼 수 있습니다.
'스프링 부트' 카테고리의 다른 글
스프링부트 게시판 API 만들기 - 5 (유저 생성 및 테스트코드 작성) (0) | 2021.04.23 |
---|---|
스프링부트 게시판 API 만들기 - 4 (게시글 수정, 삭제 테스트 코드 작성) (0) | 2021.04.23 |
스프링부트 게시판 API 만들기 - 1 (환경 설정, 게시물 가져오기, 게시물 등록하기) (0) | 2021.04.21 |
Thymeleaf와 @ControllerAdvice를 활용하여 원하는 에러페이지 만들기 (0) | 2021.04.19 |
스프링부트] CK Editor4 이미지 드래그&드롭 기능으로 AWS S3 이미지 업로드하기 (0) | 2021.04.16 |