[좋아요 누른 힐링 메시지 상세 조회 API]

1. 좋아요 누른 힐링 메시지 상세 조회 API

마이페이지 > 내가 좋아요 누른 힐링 메시지 리스트 > (하나 선택)
시 나오는 게시글의 모든 정보를 반환하는 API이다.

2. Trouble Solving

지난번에 구현했던,
1. 힐링 메시지 게시판에 있는 힐링 메시지 상세 보기
2. 내가 올린 힐링 메시지 상세 보기
와 매우 유사한 구조인지라
해당 구현 기록을 많이 참고하여 진행하니 어려움은 없었다.

3. 구현

3.1 Controller

/**
     * 좋아요 누른 힐링 메시지 상세 조회 API
     * @param request 사용자 요청
     * @param messageId 조회하고자 하는 게시글 고유번호
     * @return 조회하고자 하는 게시글 내용
     */
    @Operation(summary = " 좋아요 누른 힐링 메시지 상세 조회  API ", description = "")
    @GetMapping("/like/{messageId}")
    public ResponseEntity<HealingMessageResponse> getMyLikeMessage(HttpServletRequest request,
                                                 @PathVariable("messageId") Long messageId){

        /* 조회하고자 하는 게시글 내용 반환 */
        return ResponseEntity.ok(healingMessageService.getMyLikeHealingMessage(request,messageId));
    }

3.2 Service

3.2.1 Interface

/**
     * 좋아요 누른 힐링 메시지 상세 조회
     * @param request 사용자 요청
     * @param messageId 메시지 고유 번호
     * @return 좋아요 누른 힐링 메시지 데이터 반환
     */
    HealingMessageResponse getMyLikeHealingMessage(HttpServletRequest request,Long messageId);

3.2.2 Implements

 /**
     * 좋아요 누른 힐링 메시지 상세 조회
     * @param request 사용자 요청
     * @param messageId 메시지 고유 번호
     * @return 좋아요 누른 힐링 메시지 상세 데이터 반환
     */
    @Override
    public HealingMessageResponse getMyLikeHealingMessage(HttpServletRequest request, Long messageId) {

        /* 사용자 고유 번호 조회 */
        Long userNumber = jwtService.extractUserNumberFromRequest(request);

        /* 힐링 메세지 게시글 상세 보기 */
        return healingMessageMapper.getMyLikeHealingMessage(userNumber,messageId);
    }

3.3 Mapper

3.3.1 Mapper

 /**
     * 좋아요 누른 힐링 메시지 상세 조회
     * @param userNumber 사용자 고유 번호
     * @param messageId 조회하고자 하는 메시지 고유번호
     * @return 힐링 메시지 상세 데이터 반환
     */
    HealingMessageResponse getMyLikeHealingMessage(@Param("userNumber") Long userNumber,
                                                   @Param("messageId") Long messageId);

3.3.2 Xml

 <!-- 내가 좋아요 누른 힐링 메시지 상세 조회  -->
    <select id="getMyLikeHealingMessage" 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>

4. 결과

내가 좋아요를 누른 힐링 메시지 중
2번 messageId인 게시글을 클릭 했을때,
나오는 게시글의 모든 상세 보기 정보

profile
내가 있는 그 조직에서 가장 성실하기만 하자

0개의 댓글