Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#112 마이페이지 조회 API 구현 #113

Merged
merged 4 commits into from
Feb 15, 2024
Merged

Conversation

choign3123
Copy link
Contributor

📍 PR 타입 (하나 이상 선택)

  • 기능 추가
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트
  • 기타 사소한 수정

❗️ 관련 이슈 링크

📌 개요

  • 마이페이지 조회 API 구현

🔁 변경 사항

  • 정상 응답
{
    "isSuccess": true,
    "code": "COMMON200",
    "message": "성공입니다.",
    "result": {
        "my_info": {
            "profile_name": "김테스트",
            "space_name": "테스트의 스페이스"
        },
        "insight": {
            "profile_shared_num": 2,
            "space_shared_num": 0
        }
    }
}
  • 오류 응답
{
    "isSuccess": false,
    "code": "MEMBER400",
    "message": "해당하는 사용자가 존재하지 않습니다"
}

📸 스크린샷

👀 기타 더 이야기해볼 점

  • sql문을 한번에 짤수있으면 그렇게 하는게 더 좋을지 고민이 됩니다.
  • query문을 날리지 않고 객체조회로 끝낼 수 있는 방법이 있다면 알려주시면 감사하겠습니다!

✅ 체크 리스트

  • PR 템플릿에 맞추어 작성했어요.
  • 변경 내용에 대한 테스트를 진행했어요.
  • 프로그램이 정상적으로 동작해요.
  • PR에 적절한 라벨을 선택했어요.
  • 불필요한 코드는 삭제했어요.

@choign3123 choign3123 added the ✨ feat 새로운 기능 label Feb 12, 2024
@choign3123 choign3123 self-assigned this Feb 12, 2024
@choign3123 choign3123 linked an issue Feb 12, 2024 that may be closed by this pull request
1 task
public MyPageResponse.GetMyPageDTO getMyPage(Long memberId){
Member member = findMember(memberId);

String profileName = profileFeatureRepository.findProfileFeature(member, PageRequest.of(0,1)).get(0);
Copy link
Contributor

@yueunfive yueunfive Feb 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Paging하신 이유가 궁금합니다.

@query("select pf.profileValue " +
"from Profile p " +
"join ProfileFeature pf on p = pf.profile " +
"where pf.profileKey = 'name' and p.member = :member " +
"order by p.isDefault desc, p.createdAt asc ")
List findProfileFeature(@param("member") Member member);
...
String profileName = profileFeatureRepository.findProfileFeature(member).get(0);

이렇게 페이지네이션 처리없이 조회했을 때와 비교하여 이점이 있는 건가요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 paging으로 처리하고싶진 않았는데,
profile feature가 여러개 나올 수 있는 상황에서 jpql로는 sql의 limit 키워드가 안먹어서
어쩔 수 없이 paging으로 처리했습니다ㅠ 혹시 더 좋은 방법이 있다면 알려주시면 감사하겠습니다!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵 확인했습니다. 저도 궁금해서 질문드린거라 더 좋은 방법은 모르겠네요😅

@Query("select count(*)" +
"from MemberSpace ms join Space s on ms.space = s " +
"where s.member = :member")
Integer countSharedProfileByMember(@Param("member") Member member);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 countShared"Profile"ByMember라고 작명하신 이유가 있을까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앗! 이건 제가 잘못 작명했습니다! profile -> space로 변경하겠습니다. 꼼꼼한 확인 감사합니당

Copy link
Contributor

@yueunfive yueunfive left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다!

choign3123 and others added 2 commits February 15, 2024 21:52
@choign3123 choign3123 merged commit 0b29eba into main Feb 15, 2024
@choign3123 choign3123 deleted the feat/#112-GetMyPage branch February 15, 2024 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ feat 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

#112 마이페이지 조회 API 구현하기
2 participants