Our News 게시글에 이미 작성된 댓글들을 리스트 형식으로 반환하는 API이다.
반환 리스트 DTO은 다음과 같다.
package website.server.Domain.Healing_Space_News.Our_News.DTO.Response;
import java.time.LocalDateTime;
public record OurNewsCommentResponse(
Long commentId,
String profile_image_path,
String nickname,
String content,
LocalDateTime createdDate
) {
}
이전에도 개발해봤던 API인지라 어려움은 없었고 한가지 실수라 하면,
@PathVariable("ourNewsNumber") Long ourNewsNumber
여기서 "ourNewsNumber"를 적지 않아서 잠시 500 에러가 뜬 것 밖에 없다.
너무 간단하다... 솔직히 설명할 것이 있나 모르겠다.
/**
* 댓글 조회 API
* @param request 사용자 요청
* @param ourNewsNumber 댓글을 조회하고자 하는 게시글 고유 번호
* @return 댓글 리스트 반환
*/
@Operation(summary = "댓글 조회 API",description = "")
@GetMapping("/comment/{ourNewsNumber}")
public ResponseEntity<List<OurNewsCommentResponse>> getComment(HttpServletRequest request,
@PathVariable("ourNewsNumber") Long ourNewsNumber ){
/* 댓글 리스트 조회 */
List<OurNewsCommentResponse> ourNewsCommentResponseList =ourNewsService.getComment(request,ourNewsNumber);
return ResponseEntity.ok(ourNewsCommentResponseList);
}
/**
* 댓글 조회 메서드
* @param request 사용자 요청
* @param ourNewNumber 댓글을 조회하고자 하는 게시글 고유 번호
* @return 댓글 리스트 반환
*/
List<OurNewsCommentResponse> getComment(HttpServletRequest request,Long ourNewNumber);
/**
* 댓글 조회 메서드
* @param request 사용자 요청
* @param ourNewNumber 댓글을 조회하고자 하는 게시글 고유 번호
* @return 댓글 리스트 반환
*/
@Override
public List<OurNewsCommentResponse> getComment(HttpServletRequest request, Long ourNewNumber) {
/* 댓글 리스트 반환 */
return ourNewsMapper.getComment(ourNewNumber);
}
/**
* 댓글 조회
* @param ourNewsNumber 댓글을 조회하고자 하는 게시글의 고유번호
* @return 댓글 리스트 반환
*/
List<OurNewsCommentResponse> getComment(Long ourNewsNumber);
<!-- 댓글 조회 -->
<select id="getComment" resultType="website.server.Domain.Healing_Space_News.Our_News.DTO.Response.OurNewsCommentResponse">
SELECT
onc.commentId,
m.profile_image_path,
m.nickname,
onc.content,
onc.createdDate
FROM
our_news_comment onc
JOIN
member m
ON
onc.userNumber =m.userNumber
WHERE
onc.ourNewsNumber=#{ourNewsNumber}
</select>
200ok + 댓글 리스트 반환 성공
