대략적인 시스템 아키텍처를 구상 후 효율적인 업무 분담을 위해 각 기능들을 구체화할 필요가 생겼다.
API 명세서를 미리 작성해 장고 프로젝트의 구조에 대하여 명확히 파악하려고 한다.
1️⃣ 회원 API
HTTP Path Method Permission 목적 POST /api/user/signup CREATE AllowAny 사용자 회원가입 POST /api/user/signin NONE AllowAny 사용자 로그인, access_token 생성 및 반환 API /api/user/login/kakao/ NONE AllowAny 카카오 소셜 로그인, access_token 생성 및 반환 API /api/user/login/naver/ NONE AllowAny 네이버 소셜 로그인, access_token 생성 및 반환 2️⃣ 싱잉 리스트 API
HTTP Path Method Permission 목적 GET /api/songs/ LIST AllowAny 모든 곡 목록 확인 GET, PUT, DELETE /api/songs/<int:pk>/ RETRIEVE, DESTORY Access_token or ReadOnly OR IsOwner 곡 하나 확인, 삭제 POST /api/songs/add/ CREATE Access_token 곡 추가 3️⃣ 게시판 API
HTTP Path Method Permission 목적 GET /api/posts/ LIST AllowAny 모든 게시글 목록 확인 GET, PUT, DELETE /api/posts/<int:pk>/ RETRIEVE, UPDATE, DESTORY Access_token or ReadOnly OR IsOwner 게시글 하나 확인, 수정, 삭제 POST /api/posts/create/ CREATE Access_token 게시글 생성 POST /api/posts/<int:pk>/comments/create CREATE Access_token 해당 게시글에 댓글 생성 GET, PUT, DELETE /api/posts/<int:pk>/comments/ RETRIEVE, UPDATE, DESTORY Access_token 댓글 확인, 수정, 삭제 GET /api/posts/search/category/ LIST AllowAny 카테고리별 검색