[내가 올린 힐링 메세지 상세 조회 API]

1. 내가 올린 힐링 메세지 상세 조회

위는 내가 figma로 디자인 한 화면 설계서의 일부이다.

이전에 개발하였던, healingmessage 리스트 반환 API에서 하나의 힐링 메세지를 선택하면,
클라이언트 측에서 해당 메세지의 messageId를 통해 해당 힐링 메시지 게시글의 정보를 반환하는 API이다.

2. Trouble Solving

X

3. 구현

3.1 Controller

/**
     * 내가 올린 힐링 메세지 상세 조회 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);
    }

3.2

3.2.1 Interface

 /**
     * 내가 올린 힐링 메시지 상세 조회 메서드
     * @param messageId  조회하고자 하는 힐링 메시지 고유 번호
     * @return 힐링 메세지 상세 정보
     */
    HealingMessageResponse getMyHealingMessage(HttpServletRequest request,Long messageId);

3.2.2 Implements

 /**
     * 내가 올린 힐링 메세지 상세 조회 메서드
     * @param messageId  조회하고자 하는 힐링 메시지 고유 번호
     * @return 게시물 요소(제목,프로필 사진,닉네임,작성일,좋아요 수,게시글 사진,본문,댓글 리스트)
     */
    @Override
    public HealingMessageResponse getMyHealingMessage(HttpServletRequest request,
                                                      Long messageId) {

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

        /* 힐링 메세지 게시글 상세 보기 */
        HealingMessageResponse healingMessageResponse = healingMessageMapper.getMyHealingMessage(userNumber,messageId);

        return healingMessageResponse;
    }
}

3.3

3.3.1 Mapper

/**
     * 내가 올린 힐링 메시지 상세 조회
     * @param userNumber 사용자 고유번호
     * @param messageId 조회하고자 하는 힐링 메시지 고유번호
     * @return 조회하고자 하는 게시글 반환
     */
    HealingMessageResponse getMyHealingMessage(@Param("userNumber") Long userNumber,
                                               @Param("messageId") Long messageId);

3.3.2 Xml

<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>

4.

성공

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

0개의 댓글