명세서 보기 전 참고할 사항
- 응답 항목에서
events{name, expired_at, ...}
와 같이 {} 표기된 부분은 리스트를 나타냄
- 예 : API-04
는 이벤트 리스트(events
)를 응답으로 주며, 각 이벤트 별로 name, expired_at, market_name, like_count, review_count, like, remaining_participants
데이터 포함데이터 타입
🔤 : String
1️⃣ : Number
📅 : 날짜
🕙 : 날짜 & 시간
🖼️ : 이미지
⁉️ : Boolean
👯♂️ : List → ex) ["abc", "bcd", "edf"]
Date Format
- 날짜 & 시간: yyyy-MM-dd HH:mm:ss // 생성날짜, 수정 시간 .. server time 그대로 적용한 포맷
- 날짜: yyyy-MM-dd // post 쓸때 날짜 지정했을때 다음 형식으로 request하고, response도 string도
Status Code
- get → 200 ok
- put → 204 no-content
- patch → 204 no-content
- post → 201 created
Location: /posts/{postId} → 요게 안되면
- delete → 200 ok (응답 바디 있을 경우) vs 204 no-content (응답 바디 없을 경우)
API 목록(번호, 기능, 연관 페이지, URI, 응답, 요청 정보 포함)
API 이슈사항 - 프론트엔드 확인 필요
이벤트 상세 페이지에서 이벤트 참여 가능한 사람의 수가 필요 없는지??
사업자 등록 시 가게 설명 누락되어있는데, 이 정보는 입력하지 않는 것인지?
API-16
은 사용자의 리뷰 정보를 조회한다는 맥락에서 동일한 API로 볼 수 있는데, 하나의 API로 합쳐도 되는지?다른 사용자에 대한 리뷰 정보를 조회할 때에는 참여 이벤트 수와 리뷰 작성 수가 필요 없지만, 백엔드 쪽에서는 모든 정보를 보내면 프론트 쪽에서 이 정보를 사용하지 않으면 될 것으로 보임프론트에서 API 구분이 필요하다고 하면 분리할 수 있습니당!!ㅎㅎ
user-profile
화면의 활동 내역에서 음영 처리되어 있는 이벤트는 마감 일자가 지난 이벤트인지? 아니면 참여 완료한 이벤트인지? 아님 둘 다 인지? 확인 필요
- API-16
- memberId, authorize 사용자 정보와 일치 : 내 리뷰 정보 조회 리스트 반환
- reviewerEventCount=null, reviewerReviewCount=null
- memberId, authorize 사용자 정보와 불일치 : 리뷰어 조회 리스트 반환
⇒ 일관성 있게 데이터 전달해주신다면 좋을 거 같아요! 여기서의 질문에 대해 답변 드리자면 저 두 옵션(reviewerEventCount, reviewerReviewCount) 모두 authorize에 상관 없이 응답해주셔도 좋을 거 같습니다! (왜냐하면, 보안상으로도 큰 문제가 없는 데이터이기 때문, 프론트에서 분류가능하기 때문)
- API-17
- 프로필 수정에서 닉네임 중복 확인 버튼이 추가되어야 할 것 같음
- 프로필 수정할 때 닉네임과 비밀번호는 모두 같이 수정되는 것이 맞는지 프론트 확인 필요!
- UI 상에는 둘 다 수정해야 수정 완료되는 것으로 보임
- 만약 닉네임만 바꾸는 경우 → 닉네임 + 기존 비밀번호로 PUT 요청
- 닉네임과 비밀번호 바꾸는 경우 → 기존 비밀번호 확인 후 닉네임 + 새로운 비밀번호로 PUT 요청
- 비밀번호만 바꾸는 경우 → 기존 비밀번호 확인, 새로운 비밀번호로 PUT 요청 닉네임/비밀번호/비밀번호변경을 할 때 PUT을 할 예정입니다. 이때 변경해주시면 좋을 듯 합니다.
⇒ 네 넣겠습니다. 감사합니다!
⇒ 프론트에서 닉네임/비밀번호를 입력할 때, 기존 비밀번호를 반드시 입력하게 하고 →
기존 비밀번호 재확인 로직이 백엔드에 반드시 있어야 할 것 같아요!
만약 기존 비밀번호와 틀리다면, 에러를 내뱉어야 할 것 같습니다!
혹시 파라미터로 기존 비밀번호 넘겨드려도 괜찮나요? (아니면, null값으로 넘겨줄 경우 백엔드 측에서 password를 넣어주는 방법이 있을까요?)
- API-21
- 사업자의 가게 이벤트 조회 시 좋아요 여부를 표시해야 되는지?
- UI 상에는 표시되어 있지만, 필요 없다고 생각함(사업자 계정에서는)
⇒ 편하신대로. 상관 없습니다.
- API-5
- participateStatus 반환 : "notParticipated", "participated", "completed”
프론트엔드 API 명세서
프론트엔드에서 처리하는 API