2024.05.16 프로그래머스-API 설계 맛보기
- 프로젝트 : https://github.com/ykdman/fantom
API 설계 해보기
데브코스 강의에서는 도서관 웹 서비스를 만드는 과정을 진행 중인데, 해당 프로젝트에 데브코스만의 저작권도 걸려있고, 그동안 강의같은것을 들을 때, 그대로 따라했던것들이 조금 아쉬운 면도 있어서, 내가 생각한 자체적인 서비스를 지금까지 강의를 들으면서 응용하여 작성했었다.
데브코스 강의와는 내용이 사뭇 다르지만, 그 기반 지식은 같기 때문에, 나로써는 더욱 응용할 수 있는 환경으로 만들어 보았다.
회원 API
- 회원 정보 및 로그인, 가입과 관련된 API
회원가입
- Method :
POST
- URI :
/signup
- HTTP Status Code : 성공 -
200
, 실패 - Request Body
1 2 3 4 5
{ "email" : "사용자 입력 이메일", "pwd" : "사용자 입력 비밀번호", "name" : "사용자 이름" }
- Response Body : none
로그인
- Method :
POST
- URI :
/login
Http Status Code : 성공 - 200
실패 - Request Body
1 2 3 4
{ "email" : "사용자 입력 이메일", "pwd" : "사용자 입력 비밀번호", }
- Response Body :
JWT Token
in Cookie
비밀번호 초기화 요청
- Method :
POST
- URI :
/reset
HTTP Status Code : 성공 200
실패 Request Body
1 2 3
{ "email" : "사용자 입력 이메일" }
- Resposne Body : none
비밀번호 초기화 (수정)
- Method :
PUT
- URI :
/reset
HTTP Status Code : 성공 200
실패 Request Body
1 2 3
{ "pwd" : "사용자 입력 비밀번호" }
페이지 API
전체 페이지 조회
- Method :
GET
- URI :
/pages
HTTP Status Code : 성공 200
실패 404
,500
,503
- Request Body : none
Response Body
1 2 3 4 5 6 7 8 9
[ { "id" : 1, "artist_id" : "아티스트 id 값", "user_id" : "페이지를 소유하고 있는 user의 id값", "description" : "페이지에 대한 설명", "title" : "페이지 이름" } ... ]
구독 API
구독한 페이지 조회
- Method :
GET
- URI :
/subscribe
HTTP Status Code : 성공 200
실패 404
Request Body
1 2 3
{ "email" : "사용자 이메일 계정" }
Response Body
1 2 3 4 5 6 7
[ { "page_id" : 1, "artist_id" : "아티스트 id", "user_id" : "페이지 소유자 id" }... ]
구독 추가
- Method :
POST
- URI :
/subscribe/:pages.Id
HTTP Status Code : 성공 200
- Request Body
- Response Body
구독 취소
- Method :
DELETE
- URI :
/subscribe/:pages.Id
- HTTP Status Code : 성공
200
- Request Body
- Response Body
좋아요 API
좋아요 추가
- Method :
PUT
- URI :
/likes/:pageId
- HTTP Status Code : 성공
200
Request Body
1 2 3 4 5
{ "page_id" : "좋아요가 눌린 page 의 ID", "user_id" : "좋아요를 누른 user의 ID", "page_user_id" : "페이지 소유자 ID" }
- Response Body
좋아요 취소
- Method :
PUT
- URI :
/likes/:pageId
- HTTP Status Code : 성공
200
Request Body
1 2 3 4 5
{ "page_id" : "좋아요가 눌린 page 의 ID", "user_id" : "좋아요를 누른 user의 ID", "page_user_id" : "페이지 소유자 ID" }
- Response Body : 미정
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.