diff --git a/backend/src/main/java/org/sejongisc/backend/board/dto/CommentResponse.java b/backend/src/main/java/org/sejongisc/backend/board/dto/CommentResponse.java index eb2a7879..a3f9e4c5 100644 --- a/backend/src/main/java/org/sejongisc/backend/board/dto/CommentResponse.java +++ b/backend/src/main/java/org/sejongisc/backend/board/dto/CommentResponse.java @@ -25,9 +25,14 @@ public class CommentResponse { private String content; private LocalDateTime createdDate; private LocalDateTime updatedDate; + private UUID parentCommentId; private List replies; public static CommentResponse from(Comment comment) { + UUID parentId = (comment.getParentComment() != null) + ? comment.getParentComment().getCommentId() + : null; + return CommentResponse.builder() .commentId(comment.getCommentId()) .user(UserInfoResponse.from(comment.getUser())) @@ -35,10 +40,15 @@ public static CommentResponse from(Comment comment) { .content(comment.getContent()) .createdDate(comment.getCreatedDate()) .updatedDate(comment.getUpdatedDate()) + .parentCommentId(parentId) .build(); } public static CommentResponse from(Comment comment, List replies) { + UUID parentCommentId = (comment.getParentComment() != null) + ? comment.getParentComment().getCommentId() + : null; + return CommentResponse.builder() .commentId(comment.getCommentId()) .user(UserInfoResponse.from(comment.getUser())) @@ -46,6 +56,7 @@ public static CommentResponse from(Comment comment, List replie .content(comment.getContent()) .createdDate(comment.getCreatedDate()) .updatedDate(comment.getUpdatedDate()) + .parentCommentId(parentCommentId) .replies(replies) .build(); } diff --git a/backend/src/main/java/org/sejongisc/backend/board/service/PostServiceImpl.java b/backend/src/main/java/org/sejongisc/backend/board/service/PostServiceImpl.java index 958372f4..1e90384c 100644 --- a/backend/src/main/java/org/sejongisc/backend/board/service/PostServiceImpl.java +++ b/backend/src/main/java/org/sejongisc/backend/board/service/PostServiceImpl.java @@ -265,9 +265,13 @@ public PostResponse getPostDetail(UUID postId, UUID userId, int pageNumber, int // 부모 댓글을 CommentResponse DTO로 변환 Page commentResponses = parentComments.map(parent -> { + // 해당 부모 댓글의 자식 댓글 목록을 조회 List childComments = commentRepository.findByParentComment(parent); + // 부모 객체 연결 + childComments.forEach(child -> child.setParentComment(parent)); + // 자식 댓글 목록을 CommentResponse DTO 리스트로 변환 List replyResponses = childComments.stream() .map(CommentResponse::from)