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

[INFO] 미들웨어 적용 및 API 명세서 목록 #5

Closed
owonie opened this issue Oct 15, 2024 · 9 comments
Closed

[INFO] 미들웨어 적용 및 API 명세서 목록 #5

owonie opened this issue Oct 15, 2024 · 9 comments
Labels
Backend 백엔드 관련

Comments

@owonie
Copy link
Member

owonie commented Oct 15, 2024

개요

미들웨어 적용

  • 클라이언트에서 원활한 API 연동을 위해 마스터 계정을 연동시켜줬습니다.
  • 기존과 동일하게 API 요청을 하면 되며, master 계정(userId = 1)을 기준으로 데이터를 반환합니다.

준비된 API 명세서

API 명세서 링크
Screenshot 2024-10-16 at 12 08 56 AM
Screenshot 2024-10-16 at 12 09 11 AM
Screenshot 2024-10-16 at 12 09 24 AM

@owonie owonie changed the title ### 미들웨어 적용 ### 미들웨어 적용 및 API 명세서 목록 Oct 15, 2024
@j2h30728
Copy link
Member

j2h30728 commented Oct 17, 2024

문의

아래 사항을 확인해주세요.
제가 스웨거로 작업하는 것은 처음이니, 잘못 사용하고 있으면 꼭 알려주세요!

  1. 스웨거 문서와 실제 api 호출 결과가 상이한 것 같습니다.
    • 실제 호출시에만 petId를 필드가 있습니다.
  2. 현재 위의 API 요청이 되고 있지 않습니다. 혹시 제가 잘못 호출하고 있는지 확인부탁드려요! 🥲
  3. 이 문서의 API와 다르지만, 요청시 다른 결과를 반환하는 API가 있습니다.
    1. 아래의 반환값은 count 가 아닌, 인증 기록의 첫번쨰 데이터를 반환하는 것으로 보입니다.
    image 2) verification을 배열로 모두 호출 할 경우에, 작성자에 대한 정보도 필요합니다.

@j2h30728 j2h30728 reopened this Oct 17, 2024
@j2h30728
Copy link
Member

실제 APi 호출 비교

스웨거를 사용하여 실행 할 경우에는 모든 API가 404 에러가 발생하기 때문에 실제로 호출 테스트 진행했습니다.

API path 스웨거 response 예시 실제 호출
/pet/info image image
/verification - image
/verification/count - image
/verification/calendar image image
/verification/slide image image

@owonie owonie added the Backend 백엔드 관련 label Oct 17, 2024
@owonie
Copy link
Member Author

owonie commented Oct 17, 2024

코드수정을 하면서 실제 response와 swagger를 이용해 작성한 example의 내용이 상이해진 것 같아요. 순서대로 수정완료된 내용은, 아래에 기재하도록 하겠습니다!

  • /verification -> 사용하지 않는 api로 명세에서 제거함
  • /verification/calendar
  • /verification/slide
  • /verification/count
  • /pet/info

@owonie
Copy link
Member Author

owonie commented Oct 17, 2024

사용되지 않을 api 명세들은 전부 제거했습니다:
Screenshot 2024-10-18 at 1 08 49 AM

수정하면서 발견한 두 가지 이슈에 대해 말씀드립니다:

  1. 펫 등록 시 이미지 파일을 받아와야함 (현재는 이미지 링크로 구현되어있어요)

  2. 피드 숫자 조회 시, verificationCount 테이블에서 값을 조회했는데, 데이터의 무결성을 지키기 어려워보여요.

해결방안:

  1. 이미지를 업로드 해주시면, 백엔드에서 처리하는 방식으로 구현하는게 좋을 것 같아요. (스프린트 2차 때)

  2. 피드의 수가 적기에, 일단 verification을 조회하여 각 카테고리 별 count 수를 구해오도록 구현하기

@owonie
Copy link
Member Author

owonie commented Oct 17, 2024

사용되지 않을 api 명세들은 전부 제거했습니다: Screenshot 2024-10-18 at 1 08 49 AM

수정하면서 발견한 두 가지 이슈에 대해 말씀드립니다:

  1. 펫 등록 시 이미지 파일을 받아와야함 (현재는 이미지 링크로 구현되어있어요)
  2. 피드 숫자 조회 시, verificationCount 테이블에서 값을 조회했는데, 데이터의 무결성을 지키기 어려워보여요.

해결방안:

  1. 이미지를 업로드 해주시면, 백엔드에서 처리하는 방식으로 구현하는게 좋을 것 같아요. (스프린트 2차 때)
  2. 피드의 수가 적기에, 일단 verification을 조회하여 각 카테고리 별 count 수를 구해오도록 구현하기
Screenshot 2024-10-18 at 1 47 38 AM

현재 swagger에 나와있는 모든 api들의 수정이 끝났습니다. 한번 더 확인해보시고, 피드백 주시면 빠른 반영하도록 하겠습니다.

만약 모든 테스트가 완료된다면, 미들웨어를 제거한 뒤 인가인증 테스트 진행해보면 좋을 것 같아요 :)

@owonie owonie changed the title ### 미들웨어 적용 및 API 명세서 목록 [INFO] 미들웨어 적용 및 API 명세서 목록 Oct 18, 2024
@owonie
Copy link
Member Author

owonie commented Oct 18, 2024

#3 Swagger의 try it out로 api 호출 시 v1 이 누락되어 404 에러를 일으킵니다.

@j2h30728
Copy link
Member

j2h30728 commented Oct 18, 2024

건의

현재 API는 REST API 설계로 이해하고 있습니다.
[POST] /verification/create 보다는 [POST] /verification 의 방향은 어떠신가요?
그렇게된다면 DELETE와도 통일성있게 갈 수 있을 것 같습니다!

@j2h30728
Copy link
Member

j2h30728 commented Oct 18, 2024

건의

  • 상세 인증을 확인할 수 있는 페이지에서 사용할 detail verification API 가 필요합니다.

논의

아래와 같이 펫에 대한 정보와 인증 카운트에 대한 정보를 렌더할 경우, pet/info 와 verification/count 로의 API 호출 요청하여 조합하여 사용하는 것을 권장 하는 것이 의도인지 궁금합니다.
image

처음 설계한 피그잼에서는 verification count 조회시, 해당 펫에 대한 정보도 함꼐 반환되는 것으로 작성하여 프론트에서 진행했습니다.
이 부분에 대해서 API 호출을 두번 할 것인지 verification/count 반환내용을 변경할 것인지에 대한 논의가 필요합니다.

@owonie
Copy link
Member Author

owonie commented Oct 19, 2024

#6 프로젝트 재협의 이슈로 context를 넘기고, 해당 이슈는 close 하겠습니다.

@owonie owonie closed this as completed Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend 백엔드 관련
Projects
None yet
Development

No branches or pull requests

2 participants