今天將會記錄如何使用 Post Id 取得 Comment 資料內容。
可以在 CommentRepository.java 中新增 findByPostId 功能
public interface CommentRepository extends JpaRepository<Comment, Long>{
List<Comment> findByPostId(long id);
}
public interface CommentService {
CommentDto createComment(long postId, CommentDto commentDto);
List<CommentDto> getCommentsByPostId(long postId);
}
在 CommentService.java
@Override
public List<CommentDto> getCommentsByPostId(long postId){
// 使用 postId 查找 comments
List<Comment> comments = commentRepostory.findByPostId(postId);
return comments.stream().map(comment -> mapToDTO(comment)).collect(Collectors.toList());
}
在 Controller 中使用 Mapping 的處理
CommentController.java
@GetMapping("/posts/{postId}/comments")
public List <CommentDto> getCommentsByPostId(@PathVariable (value= "postId") Long postId){
return commentService.getCommentsByPostId(postId);
}
最後可以在 Postman 中使用 http://localhost:8080/api/posts/1/comments
按下 GET 取得 comment 留言資訊