API 명세서 - boostcampwm-2021/WEB25-JustUs GitHub Wiki
사용자
- 로그인 : POST
- URL : /api/users/login
- body
- return
- status code(성공: 200, 실패: 400)
- 사용자 정보 조회 : GET
- URL: /api/users/{usedId}
- return
- 정보 수정: PUT
- 인가 필요
- 인증 실패시 401 에러 리턴
- 인증 성공시 아래 요청 수행
- URL : /api/users
- body
- return
- status code(성공:200, 실패 400)
- 로그 아웃: POST
- 인가필요
- URL : /api/users/logout
- body
- 그룹 순서 수정 : PUT
- 인가필요
- URL : /api/users/groups
- body
- return
- status code (성공 200,실패 400)
- 사용자가 속한 그룹 리스트 조회(페이징) : GET
- 인가 필요
- URL : /api/users/{userId}/groups?limit={limit}&offset={offset}
- return
- 사용자가 속해있는 그룹 리스트 ( 순서 보장 되어야 함)
- [{ groupId, groupName, groupImg }, ... ]
- 특징
- 오프셋 == 클라이언트 측에서 현재 가지고 있는 사이즈
- 오프셋 기반 페이지네이션 사용하기
그룹
- 그룹 정보 조회 : GET
- 인가 필요
- URL : /api/groups/{groupId}
- return:
- 그룹 생성 : POST
- 인가 필요
- URL : /api/groups
- body
- groupImage: 그룹 이미지(선택 , 없을 시 NULL)
- groupName: 그룹명(필수)
- return
- status code(성공: 200, 실패: 400)
- 특징
- 계정 부분의
그룹 순서 수정 도 수행
- 그룹을 처음 생성하면 →
- 프론트에 바로 맨 위 li로 렌더링
- 백엔드: 우선순위: 가장 크게 넣어주고
- 그룹 정보 수정 : PUT
- URL : /api/groups
- body
- groupId
- groupImage: 그룹 이미지(선택 , 없을 시 NULL)
- groupName: 그룹명(필수)
- return
- status code(성공:200,실패:400)
- 그룹 탈퇴 : DELETE
- URL : /api/groups
- body
- return
- 특징
- 해당 회원의
그룹 순서 수정 도 수행
- 그룹원이 0명이 되는 그룹 삭제
- 그룹 초대 가입 : POST
- URL : /api/groups/join
- body
- return
- status code(성공:200 , 실패 400)
- 특징
- 앨범 전체 조회 : GET ⭐️
- URL : /api/groups/{groupId}/albums
- result : [ album : [{ postTitle, postDate, postLocation }, ...], album... ]
앨범
- 앨범 생성 : POST
- URL : /api/groups/{groupId}/albums
- body
- return
- 앨범 이름 수정 : PUT
- URL : /api/albums/{albumID}
- body
- return
- 앨범 삭제 : DELETE
- URL : /api/albums/{albumID}
- return
- 특징
포스트
- 포스트 생성: POST
- URL : /api/albums/{albumId}/posts
- body
- title
- content
- img 배열
- userId
- addressInfo
- return
- 포스트 삭제 : DELETE
- URL : /api/posts/{postId}
- return
- 포스트 수정 : PUT
- URL : /api/posts/{postId}
- body
- postTitle
- postContent
- postImages
- postDate
- postLocation
- return
- 포스트 상세 조회 : GET
- URL : /api/posts/{postId}
- return
- postTitle
- postContent
- postImagesPath
- postDate
- postLocation
- 포스트 검색(페이징) : GET
- URL : /api/posts/search?q={keyword}&cursor={cursor}&limit={limit}
- return
- [ post : { postTitle, postContent, postImagesPath, postDate, postLocation },...]←시간 순?
- 특징