iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
SideProject30

Java Spring + Vue 甘苦學習路 前後端分離之 Blog 實戰系列 第 17

Day 17 Java Spring API 實作 - Comment 評論功能 Part3

  • 分享至 

  • xImage
  •  

概述

今天將會記錄如何使用 Post Id 取得 Comment 資料內容。

Repository

可以在 CommentRepository.java 中新增 findByPostId 功能

public interface CommentRepository extends JpaRepository<Comment, Long>{
	List<Comment> findByPostId(long id);
}

Service

CommentService.java

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

在 Controller 中使用 Mapping 的處理

CommentController.java

@GetMapping("/posts/{postId}/comments")
public List <CommentDto> getCommentsByPostId(@PathVariable (value= "postId") Long postId){

return commentService.getCommentsByPostId(postId);
}

API Test

最後可以在 Postman 中使用 http://localhost:8080/api/posts/1/comments

按下 GET 取得 comment 留言資訊


上一篇
Day 16 Java Spring API 實作 - Comment 評論功能 Part2
下一篇
Day 18 Java Spring API 實作 - Comment 評論功能 更新
系列文
Java Spring + Vue 甘苦學習路 前後端分離之 Blog 實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言