Skip to content

[2주차/에반] 워크북 제출합니다 - #35

Merged
Sangrix merged 2 commits into
UMC-Inha:evan/mainfrom
Sangrix:main
Apr 1, 2026
Merged

Sangrix merged 2 commits into
UMC-Inha:evan/mainfrom
Sangrix:main

Conversation

@Sangrix

@Sangrix Sangrix commented Mar 26, 2026

Copy link
Copy Markdown

✅ 워크북 체크리스트

  • 모든 핵심 키워드 정리를 마쳤나요?
  • 핵심 키워드에 대해 완벽히 이해하셨나요?
  • 이론 학습 이후 직접 실습을 해보는 시간을 가졌나요?
  • 미션을 수행하셨나요?
  • 미션을 기록하셨나요?

✅ 컨벤션 체크리스트

  • 디렉토리 구조 컨벤션을 잘 지켰나요?
  • pr 제목을 컨벤션에 맞게 작성하였나요?
  • pr에 해당되는 이슈를 연결하였나요?(중요)
  • 적절한 라벨을 설정하였나요?
  • 파트장에게 code review를 요청하기 위해 reviewer를 등록하였나요?
  • 닉네임/main 브랜치의 최신 상태를 반영하고 있는지 확인했나요?(매우 중요!)

📌 주안점

@Sangrix
Sangrix requested a review from YoungJJun March 26, 2026 12:57
@Sangrix Sangrix self-assigned this Mar 26, 2026
@Sangrix Sangrix linked an issue Mar 26, 2026 that may be closed by this pull request

@YoungJJun YoungJJun left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

2주차 피드백

  1. 회원가입
    • 생성이라 POST, 응답도 201 Created 사용해주신점 좋습니다.
    • URI 가 POST api/users 까지만 작성하는게 RESTful 한 것 같고 signup이 들어갈거면 auth등과 묶는게 어떨까 싶어요.
  2. 홈 화면 조회
    • 화면 좌측 상단에서 지역을 선택할 수 있고 해당 지역에 대한 정보를 출력해야 하기 때문에 Query param으로 주소를 넘기는걸로 이해했어요.
      주소를 선택할 수 있는 상황이니까 DB에 저장된 region 등의 정보를 가지고 검색을 하게 될텐데 이 경우 regionId 등을 전달하는게 성능면에서 유리할 것 같아요. 선택 가능한 지역을 보여주려면 결국 지역을 조회하는 API도 있을것 같은데 거기서 regionId까지 받아두었다가 넘겨주면 좋을 것 같습니다.
    • 페이징 하게된다면 어떤 값들을 전달 해야하고 응답에 어떤 값들을 포함해야 할지 생각해보시면 좋을 것 같아요.
  3. 마이 페이지 리뷰 작성
    • endpoint가 전체적으로 RESTful 하게 작성해주셨는데 마지막 review를 복수형으로 s붙여주시는게 좋을 것 같아요.
    • Content-Type json이고 Req Body에 url만 포함되는걸로 보아 별도의 API를 호출해 사진을 미리 업로드 후 url을 받고 해당 url을 첨부하는 구조라고 이해했어요. 이 경우 어떤 API를 호출해서 이미지를 업로드했고 해당 url을 첨부한다. 이런식으로 설명이 추가되면 명세서만 보고 확실한 이해를 할 수 있을 것 같아요.
    • 사진 여러개 첨부할 수 있게 된다면 url을 list로 보낼 수 있도록 수정할 수 있을 것 같아요.
    • 응답 리뷰ID 문자열인데 숫자로 표현하는게 좋을 것 같아요.
  4. 미션 목록 조회
    • Query Param을 보면 status를 통해 조회를 했는데 응답에는 isCompleted로 상태가 조회되는 것 같아요. status로 통일해도 될 것 같고 어쨋든 status로 조회했으면 해당 데이터만 조회될테니 아예 컬럼을 제외해도 될 것 같아요.
      그런데 혹시 고려하신 다른 부분이 있으시면 그대로 유지하셔도 됩니다!
    • 응답에 isCompleted는 유지하신다고 하면 FALSE 문자열이 아닌 boolean으로 수정할 필요 있어보여요.
  5. 미션 성공 누르기
    • PATCH 메서드 선택하신 점 좋아요.
    • missions/ 인데 뒤에가 userMissionId라서 둘다 userMission으로 통일하는게 좋을 것 같아요.
    • 응답에 완료여부 문자열이에요. 4번이랑 동일하게 수정 필요할 것 같아요.
    • 메시지는 성공 요청을 보낸건데 결과에 포함되는 내용은 완료가 바로 된 것 같아요. 메시지처럼 요청을 보낸거면 202 Accepted를 고려해볼 수 있을 것 같고 PATCH로 즉시변경 한거면 메시지를 좀 더 명확하게 바꿔도 될 것 같아요.
    • 요청 바디 없어서 Content-Type json도 없어도 될 것 같아요 .
    • 완료 후 포인트 전달해주는 점 좋아요~
    • complete라는 동사가 endpoint에 포함되어 RESTful하지는 않지만 이렇게 사용하기도 하는것 같아요. 만약에 변경하신다면 PATCH /api/userMission/{userMissionId} 로 하고 body를 통해 완료 상태인 “status”: “COMPLETED”를 전달하는 방법도 있어요. 참고해주세요!

에반 2주차 수고하셨어요. 꼭 필요한 부분들은 수정해주시고 개인적으로 궁금한거 공부해주시면 좋을 것 같습니다. (질문도 환영입니다) 다음주도 화이팅 해주세요.

@Sangrix
Sangrix merged commit 6ae568b into UMC-Inha:evan/main Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Chapter02_API 설계하기 - API 명세서, RESTful API

2 participants