
위는 내가 figma로 디자인 한 화면 설계서의 일부이다.
이전에 개발하였던, healingmessage 리스트 반환 API에서 하나의 힐링 메세지를 선택하면,
클라이언트 측에서 해당 메세지의 messageId를 통해 해당 힐링 메시지 게시글의 정보를 반환하는 API이다.
X
/**
* 내가 올린 힐링 메세지 상세 조회 API
* @param request 사용자 요청
* @return 게시물 요소(제목,프로필 사진,닉네임,작성일,좋아요 수,게시글 사진,본문,댓글 리스트)
*/
@Operation(summary = " 내가 올린 힐링 메시지 상세 조회 API ", description = "")
@GetMapping("/my/{messageId}")
public ResponseEntity<HealingMessageResponse> getMyHealingMessage(HttpServletRequest request,
@PathVariable("messageId") Long messageId){
/* 내가 올린 힐링 메세지 상세 조회 */
HealingMessageResponse healingMessageResponse = healingMessageService.getMyHealingMessage(request,messageId);
return ResponseEntity.ok(healingMessageResponse);
}
/**
* 내가 올린 힐링 메시지 상세 조회 메서드
* @param messageId 조회하고자 하는 힐링 메시지 고유 번호
* @return 힐링 메세지 상세 정보
*/
HealingMessageResponse getMyHealingMessage(HttpServletRequest request,Long messageId);
/**
* 내가 올린 힐링 메세지 상세 조회 메서드
* @param messageId 조회하고자 하는 힐링 메시지 고유 번호
* @return 게시물 요소(제목,프로필 사진,닉네임,작성일,좋아요 수,게시글 사진,본문,댓글 리스트)
*/
@Override
public HealingMessageResponse getMyHealingMessage(HttpServletRequest request,
Long messageId) {
/* 사용자 고유 번호 조회 */
Long userNumber = jwtService.extractUserNumberFromRequest(request);
/* 힐링 메세지 게시글 상세 보기 */
HealingMessageResponse healingMessageResponse = healingMessageMapper.getMyHealingMessage(userNumber,messageId);
return healingMessageResponse;
}
}
/**
* 내가 올린 힐링 메시지 상세 조회
* @param userNumber 사용자 고유번호
* @param messageId 조회하고자 하는 힐링 메시지 고유번호
* @return 조회하고자 하는 게시글 반환
*/
HealingMessageResponse getMyHealingMessage(@Param("userNumber") Long userNumber,
@Param("messageId") Long messageId);
<select id="getMyHealingMessage" resultType="website.server.Domain.HealingProgram.HealingService.HealingMessageSharing.DTO.Response.HealingMessageResponse">
SELECT
hm.title,
m.profile_image_path,
m.nickname,
hm.createdDate,
hm.imagePath,
hm.content
# hml.like
# hmc.content
FROM
# healing_message_like hml,
# healing_message_comment hmc,
healing_message hm
JOIN
member m
ON
hm.userNumber = m.userNumber
WHERE
hm.userNumber=#{userNumber} AND messageId=#{messageId}
</select>
성공
