DevKor-github / team-sprint-blccu-backend

1 stars 0 forks source link

[프론트에서 온 이슈] RESTful API 제안 #24

Closed yoopark closed 1 month ago

yoopark commented 2 months ago

BE 연동하려 했는데, RESTful 원칙과 약간 안 맞거나 아직 완전히 커버되지 않은 부분이 있어서 한번 제안드리려고 이슈 올립니다. 오늘 회의에서 얘기 나눠보면 좋을 것 같아요 🙇‍♂️🙇‍♂️

(시작에 앞서) 다루지 못한 내용

Root API

메소드 주소 설명 비고
GET / 헬스 체크

Auth API

메소드 주소 설명 비고
/auth/login/kakao Kakao 로그인 링크로 이동
POST /auth/logout 로그아웃

Posts API

메소드 주소 설명 비고
GET /posts 전체글 조회 /posts?sort_by=latest 이 기본값
GET /posts?sort_by=trending 인기글 조회
GET /posts?filter=followers 내 팔로워 최신글 조회 /posts/?filter=followers&sort_by=latest 이 기본값
GET /posts/{post_id} 특정 게시글 조회
POST /post/{post_id}/report 특정 게시글 신고
GET /posts/{post_id}/like 특정 게시글에 대해 내가 좋아요 했는지 여부
GET /posts/{post_id}/like_users 특정 게시글에 대해 좋아요한 유저 조회
POST /posts/{post_id}/like 특정 게시글에 좋아요
POST /posts/{post_id}/cancel_like 특정 게시글에 좋아요 취소
GET /posts/{post_id}/comments 특정 게시글에 대한 댓글 조회
POST /posts/{post_id}/comments 특정 게시글에 대해 댓글 입력

Comments API (Posts API로부터 분리할 경우)

메소드 주소 설명 비고
PATCH /comments/{comment_id} 특정 댓글 수정
DELETE /comments/{comment_id} 특정 댓글 삭제
POST /comments/{comments_id}/report 특정 댓글 신고

Users API

메소드 주소 설명 비고
GET /users/me 내 정보 조회 정보와 프로필 차이?
PUT /users/me 내 정보 수정 (전체)
PATCH /users/me 내 정보 수정 (일부)
POST /users/me/withdrawal 회원 탈퇴 DELETE /users/me 와 고민
GET /users/{user_id} 특정 유저 프로필 조회
GET /users/{user_id}/followers 특정 유저 팔로워 조회
GET /uesrs/{user_id}/following 특정 유저 팔로잉 조회
POST /users/{user_id}/follow 특정 유저 팔로우
POST /users/{user_id}/cancel_follow 특정 유저 팔로우 취소
GET /users/{user_id}/categories 특정 유저 카테고리 조회
GET /users/{user_id}/posts 특정 유저 게시글 조회 /users/{user_id}/posts?sort_by=latest 이 기본값
GET /users/{user_id}/posts?sort_by=trending 특정 유저 인기글 조회
GET /users/{user_id}/posts?category_id={category_id} 특정 유저 카테고리별 게시글 조회

Categories API (Users API의 /users/me로부터 분리할 경우)

메소드 주소 설명 비고
GET /categories 내 카테고리 조회
POST /categories 내 카테고리 생성
GET /categories/{category_id} 내 카테고리 중 특정 카테고리 조회 Modal이 아닌 Page 전환이므로 필요
PATCH /categories/{category_id} 내 카테고리 중 특정 카테고리 수정
DELETE /categories/{category_id} 내 카테고리 중 특정 카테고리 삭제

Notifications API (Users API의 /users/me로부터 분리할 경우)

메소드 주소 설명 비고
GET /notifications 알림 조회
POST /notifications/{notification_id}/read 특정 알림 읽음 처리 여러개 한번에 읽게 할 수 없나?

기타 커버해야 할 내용

do-huni commented 2 months ago

@yoopark 대부분 제안해주신대로 엔드포인트 작업중인데 조금 차이가 생길 거 같은 부분은

요정도고 앤드포인트만 바꾸면 되는건 오늘 저녁까지 해서 올려보겠습니다. api 짜야되는 건 모레까지 해볼게요.

yoopark commented 2 months ago

네 확인하였습니다 😄 엔드포인트 변경은 그냥 제안이었고, 빈 부분 짜주시는 게 더 중요합니다.

do-huni commented 1 month ago

기능 개발

메소드 URI 설명 완료
GET posts/:postId/like 특정 게시글 내가 좋아요 했는지 여부 V
GET posts/:postId/comments 특정 게시글에 대한 댓글 조회 V
PATCH posts/:postId/comments 특정 게시글에 대한 댓글 수정 V
POST users/me/withdrawal 회원탈퇴
GET users/me/categories 내 카테고리 전체 조회 V
GET users/me/categories/:categoryId 내 카테고리 중 특정 카테고리 조회 V
PATCH users/me/categories/:categoryId 내 카테고리 중 특정 카테고리 수정 V
DELETE users/{userId}/follow 언팔로우 delete로 변경 V
POST users/me/agreeement 온보딩 동의(단일 리소스) V
GET users/me/agreements 온보딩 동의 fetch V
GET users/:userId/agreements 온보딩 조회(어드민용) V
PATCH users/me/agreement/:agreementId 온보딩 동의여부 수정(선택사항만) V
POST users/feedback 피드백 작성하기 V
GET users/admin/feedbacks 피드백 조회(어드민용) V
GET users/profile/handle/:handle 유저 프로필 조회(핸들) V