Merged
Conversation
YoungJJun
approved these changes
Mar 27, 2026
Collaborator
There was a problem hiding this comment.
2주차 피드백
- 홈화면
- 조회이기 때문에 GET 메서드 사용 적절합니다.
- 페이지네이션이 적용되지 않은 요청으로 보여요! 만약에 적용한다면 어떻게 하실지 생각해보시면 좋을것 같아요.
- member-id를 Path Variable로 전달하고 있어요! 아마 토큰에 대해서 아직 배우지 않아서 그런것 같은데 토큰에는 해당 사용자에 대한 정보가 담겨있습니다. 따라서 따로 id를 전달할 필요가 없어요.
추가로 만약에 Path Variable을 통해 id를 전달하도록 구현하면 해당 값만 바꿔서 다른 회원의 홈화면을 조회할 수 있는 취약점도 생길 수 있어요! 로직상 막을 수 있지만 일반적으로 토큰이 포함되는 경우 멤버id는 항상 포함하지 않는다고 생각하고 계시면 될 것 같아요.
- 보유 포인트 조회
- 홈화면 설명과 동일하게 user-id는 토큰에서 가져올 수 있어요.
그러면 endpoint는 members/me/points 정도가 좋을 것 같아요.
- 홈화면 설명과 동일하게 user-id는 토큰에서 가져올 수 있어요.
- 마이페이지 리뷰 작성
- POST 요청 좋아요.
- endpoint에서 user-id 제거
- 미션에 리뷰를 다는것으로 설계하신 것 같아요.
그렇다면 POST /v1/missions/{mission-id}/reviews
혹은 대부분 가게에 리뷰를 다는 것으로 설계하셨는데
그런 경우에는 POST /v1/store/{store-id}/reviews
이런식으로 될 것 같아요. - 응답은 작성이 필수가 아니여서 많이 헷갈려하신 부분 적어드리자면 리뷰 작성의 경우 성공에 대한 응답 코드는 200Success 보다는 201Created가 적절 (리뷰가 Created 되었기 때문입니다)
- 미션 목록 조회
- Path Variable에는 user-id가 여전히 남아있고 Endpoint에는 없어요.
user-id 없는 방향으로 통일하는게 맞는 것 같습니다. - 쿼리 파라미터를 통해 진행 중, 완료 선택하는거 좋아요.
- Path Variable에는 user-id가 여전히 남아있고 Endpoint에는 없어요.
- 미션 성공 누르기
- 상태(특정 컬럼)를 바꾼다 라는 의미에서 PATCH 메서드 선택 좋아요.
- user-id는 당연히 여기서도 제거할게요.
- PATCH ~/missions/{mission-id}는 미션에 대한 수정을 하는 API에 더 적절한 endpoint인 것 같습니다.
따라서 여기서는 실제로 userMission의 상태를 바꾸는거니 그에 맞춰서 user-missions/{user-mission-id} 로 전달하고 이 때 상태를 어떤 값으로 바꿀지 Body에 {“status”: “COMPLETED”} 이런식으로 바꿀 수 있을 것 같아요.
- 회원가입
- endpoint 는 사용자 생성에 초점을 맞추면 POST /v1/users 가 가장 RESTful 한 것 같아요.
- 회원가입, 로그인등과 관련해서는 예외로 signup, login등을 사용하는 것으로 알고 있어요. 따라서 auth/signup 정도도 좋은 것 같아요.
빈 2주차 수고하셨어요. 꼭 필요한 부분들은 수정해주시고 개인적으로 궁금한거 공부해주시면 좋을 것 같습니다. (질문도 환영입니다) 다음주도 화이팅 해주세요.
추가로 현재 작성된 워크북(노션) 보면서 리뷰 작성해서 혹시 제출하신 내용과 다른 부분이 있을수도 있어요!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✅ 워크북 체크리스트
✅ 컨벤션 체크리스트
📌 주안점
홈화면의 API 명세서를 설계할 때 해당 지역에서 달성한 미션의 개수를 조회하는 API하고 내 미션들을 조회하는 API를 각각 따로 하려다가 한 번에 했는데 따로하는 거랑 한 번에 하는 거랑 뭐가 더 나은 설계일까요
그리고 좋은 엔드포인트 주소 설계를 잘 모르겠는데 엔드포인트 주소 설계는 어떻게 짜야하나요