Skip to content

API Map

박태진 edited this page Mar 5, 2026 · 2 revisions

API 맵

기본 규칙

  • API Base URL: NEXT_PUBLIC_API_BASE_URL (기본값: https://dev.api.swkoreatech.io)
  • 공통 호출 함수:
    • apiClient: 서버/공용 호출
    • clientApiClient: 브라우저 호출, 401 시 토큰 갱신 + 1회 재시도
  • 공통 예외: ApiException(status, message)

모듈별 책임

파일 주요 책임 대표 함수
src/lib/api/auth.ts 인증/검증/비밀번호 재설정 login, loginWithGithub, reissueToken
src/lib/api/user.ts 회원가입/프로필/활동 signup, getUserProfile, updateUser
src/lib/api/article.ts 게시글 CRUD/좋아요/북마크/신고 getArticles, createArticle, toggleArticleLike
src/lib/api/comment.ts 댓글 CRUD/좋아요 getComments, createComment, toggleCommentLike
src/lib/api/recruit.ts 모집공고/지원/상태 getRecruits, applyRecruit, decideApplication
src/lib/api/team.ts 팀 생성/조회/수정/초대 createTeam, getTeam, inviteTeamMember
src/lib/api/challenge.ts 챌린지 조회 getChallenges
src/lib/api/board.ts 게시판 목록 getBoards
src/lib/api/notification.ts 알림 조회/읽음/삭제 getNotifications, markAllNotificationsAsRead
src/lib/api/admin.ts 관리자 권한/정책/역할/콘텐츠/포인트 getPermissions, getRoles, getAdminReports
src/lib/api/search.ts 통합 검색 searchGlobal
src/lib/api/upload.ts 파일 업로드 uploadFile

인증 관련 BFF 엔드포인트

엔드포인트 동작
GET /api/auth/session 쿠키 기반 세션 조회, 필요 시 refresh 수행
POST /api/auth/session credentials/github/tokens 방식 로그인 처리
DELETE /api/auth/session 백엔드 로그아웃 호출 후 쿠키 삭제
POST /api/auth/refresh refresh token으로 access/refresh 재발급

에러 처리 포인트

  • 401: 인증 만료 처리 후 로그인 유도
  • 403: 권한 없음 메시지
  • 5xx/네트워크 오류: serverDown 이벤트 발생, 서버 상태 오버레이 표시

변경 시 문서 업데이트

  • API 스펙 변경: 이 문서 + docs/troubleshooting.md
  • 인증 계약 변경: 이 문서 + docs/auth.md

Clone this wiki locally