웹페이지 전체 흐름 기준 API 정리
-
로그인
- GET 유저 oAuth 인증(구글) → FE
- 최초 로그인 여부 확인 (자동로그인에 필요)
- 최초 로그인일 경우 POST 새 유저 등록
-
독서모임 추가(등록)
-
메인페이지
- 인기순 정렬된 독서모임 조회(메인페이지/4개만)
- GET /clubs?sortby={likes}&tags={tags}&clubStatus={clubStatus}&keyword={keyword}&page={pageNum} → FE가 조회된 결과에서 4개만 골라 표시
(최신순:createdAt, 좋아요순:likes)
- 최신순 정렬된 독서모임 조회(메인페이지/4개만)
- GET /clubs?sortby={createdAt}&tags={tags}&clubStatus={clubStatus}&keyword={keyword}&page={pageNum}
-
보드 페이지
- 전체 독서모임 리스트 조회(n개의 독서모임 조회)
(기본 sorting은 최신순) -아래 d와 동일하나 d는 검색 결과나 태그로 정렬된 독서모임에 대한 정렬이라는 점에서 다르게 표시함. 기본적으로 본질은 같음
- GET /clubs?sortby={createdAt}&tags=&clubStatus=&keyword=&page=1
- 태그, 검색어 키워드, 모집중 여부, 정렬 기준으로 필터링된 독서모임 조회, 검색 결과 독서모임 조회
- GET /clubs?sortby={sortBy}&tags={tags}&clubStatus={clubStatus}&keyword={keyword}&page={pageNum}
(sortBy - 최신순: createdAt, 좋아요순: likes/ tags - 소수정예, 온라인, 오프라인, 온/오프라인, 친목, 수도권, 지방, 독서 외 활동 → comma와 공백으로 태그 구분, 한글 / clubStatus - ACTIVE → 모집중, 없으면 관계없이 조회)
- 독서모임에 좋아요 클릭 (상세페이지에서도 가능)
- 독서모임에 좋아요를 취소
- DELETE /likedclubs?clubId={clubId}&userId={userId}
-
독서모임 상세 조회 (상세페이지)
- 독서모임 상세 정보 조회
- 참여신청 버튼 클릭
- 참여신청 취소
- DELETE /members?userId={userId}&clubId={clubId}&delete={deleteStatus}
- 댓글 조회
- GET /comments/clubs/{clubId}
- 댓글 등록
- 댓글 수정
- PATCH /comments/{commentId} → PUT으로 변경
- 댓글 삭제
- DELETE /comments/{commentId}
-
마이 페이지 (로그인 후 → 프로필 클릭)
- 내가 쓴 댓글 조회 (페이지네이션)
- GET /comments/users/{userId}?page={pageNum}
- 내가 좋아요한 독서모임 조회 (페이지네이션)
- GET /likedClubs/users/{userId}?page={pageNum}
- 내가 참여중인 독서모임 조회 (페이지네이션)
- GET /members/users/{userId}?page={pageNum}
- 내가 운영중인 독서모임
- 참여자 관리
- 승인 대기자 리스트 조회
- GET /members?userId={userId}&approvalStatus=WAITING&page={pageNum}
- 승인 대기자 승인
- 승인 대기자 거절
- DELETE /members?userId={userId}&clubId={clubId}&delete={deleteStatus} → 거절일때는 NO
(없으면 그냥 사용자 측의 참여신청 취소, NO : 거절, OUT : 내보내기)
→ 동일 api로 참여자 내보내기, 독서모임 참여신청 취소 처리
- 참여자 목록 조회
- GET /members?userId={userId}&approvalStatus=CONFIRMED&page={pageNum}
- 참여자 내보내기
- DELETE /members?userId={userId}&clubId={clubId}&delete={deleteStatus} → 내보내기일때는 OUT
- 내가 운영중인 독서모임 정보 조회
- GET /clubs/users/{userId}
- 독서모임 정보 수정
- PATCH /clubs/users/{usersId} → PUT으로 변경
- 독서모임 삭제
- DELETE /clubs/users/{usersId}
- FE 요청으로 별개로 만든 API들 목록
- 좋아요한 독서모임 아이디 조회(likedClub 테이블의 clubId 항목)
- GET /likedClubs/ids?userId={userId}
- 참여중인 독서모임 아이디 조회(member 테이블의 clubId 항목)
- GET /members/ids?userId={userId}