공식 API 문서
- api 요청에 사용자 정의 JSON으로 커스텀하여 데이터 넣기 가능
const json = { "title": "제목", "body": "내용" }; API.createPost(JSON.stringify(json), ...);
어드민 계정
email: admin@programmers.co.kr password: programmers
API 명세서
Domain | Method | URL | Description | Request parameters | Request data | Response data | 비고 |
User | POST | /login | 로그인 | Body | { "email": String, "password": String} | {
"user": User,
"token": String
} | - |
ㅤ | POST | /signup | 회원가입 | Body | {
"email": String,
"fullName": String,
"password": String
} | {
"user": User,
"token": String
} | - |
ㅤ | POST | /logout | - | - | - | - | - |
ㅤ | GET | /auth-user | 사용자 인증 확인 | Header | Authorization: bearer JWT토큰 | User | - |
ㅤ | GET | /users/get-users | 사용자 목록 조회 | Params | offset: Optional
limit: Optional | User[] | - |
ㅤ | GET | /users/online-users | 현재 접속 중인 사용자 목록 조회 | - | - | User[] | - |
ㅤ | GET | /users/{userId} | 특정 사용자 정보 조회 | - | - | User | - |
ㅤ | POST | /users/upload-photo | 나의 프로필 이미지를 변경 | Header, Body | Authorization: bearer JWT토큰isCover: false
image: Binary | User | isCover를 반드시 false로 기입 |
ㅤ | POST | /users/upload-photo | 나의 커버 이미지를 변경 | Header, Body | Authorization: bearer JWT토큰isCover: true
image: Binary | User | isCover를 반드시 true로 기입 |
ㅤ | PUT | /settings/update-user | 나의 정보를 변경 | Header, Body | Authorization: bearer JWT토큰{
"fullName": String,
"username": String
} | User | - |
ㅤ | PUT | /settings/update-password | 내 계정 비밀번호를 변경 | Header, Body | Authorization: bearer JWT토큰{
"password": String
} | - | - |
Channel | GET | /channels | 채널 목록 조회 | - | - | Channel[] | - |
ㅤ | GET | /channel/{channelName} | 특정 채널 정보 조회 | - | - | Channel | 채널 이름이 한글일 때, 인코딩 필요 |
Post | GET | /posts/channel/{channelId} | 특정 채널의 포스트 목록 조회 | Params | offset: Optional<Number>
limit: Optional<Number> | Post[] | - |
ㅤ | GET | /posts/author/{authorId} | 특정 사용자의 포스트 목록 조회 | Params | offset: Optional<Number>
limit: Optional<Number> | Post[] | - |
ㅤ | POST | /posts/create | 특정 채널에 포스트를 작성 | Header, Body | Authorization: bearer JWT토큰title: String,
image: Binary | null,
channelId: String | - | - |
ㅤ | GET | /posts/{postId} | 특정 포스트의 상세 정보 조회 | - | - | Post | - |
ㅤ | PUT | /posts/update | 내가 작성한 포스트를 수정 | Header, Body | Authorization: bearer JWT토큰postId: String
title: String
image: Binary | null
imageToDeletePublicId: Optional
channelId: String | - | 이미지를 삭제하려면 imageToDeletePublicId에 imagePublicId를 기입 |
ㅤ | DELETE | /posts/delete | 내가 작성한 포스트를 삭제 | Header, Body | Authorization: bearer JWT토큰{
"id": String
} | - | - |
ㅤ | POST | /likes/create | 특정 포스트에 좋아요 | Header, Body | Authorization: bearer JWT토큰{
"postId": String
} | Like | - |
ㅤ | DELETE | /likes/delete | 특정 포스트에 좋아요한 것을 취소 | Header, Body | Authorization: bearer JWT토큰{
"id": String
} | Like | - |
ㅤ | POST | /comments/create | 특정 포스트에 댓글을 작성 | Header, Body | Authorization: bearer JWT토큰{ "comment": String, "postId": String} | Comment | - |
ㅤ | DELETE | /comments/delete | 특정 포스트에 작성한 내 댓글을 삭제 | Header, Body | Authorization: bearer JWT토큰{
"id": String
} | Comment | - |
Alarm | GET | /notifications | 나의 알림 목록 조회 | Header | Authorization: bearer JWT토큰 | Notification[] | - |
ㅤ | PUT | /notifications/seen | 나에게 온 알림을 읽음처리 | Header | Authorization: bearer JWT토큰 | - | - |
ㅤ | POST | /notifications/create | 상대방에게 알림 보냄 | Header, Body | Authorization: bearer JWT토큰{
"notificationType": "COMMENT" | "FOLLOW" | "LIKE" | "MESSAGE",
"notificationTypeId": String,
"userId": String,
"postId": Nullable<String>
} | Notification | notificationTypeId는 type에 해당하는 객체의 id를 넣어주세요.COMMENT일 경우엔 댓글 idFOLLOW일 경우엔 팔로우 idLIKE일 경우엔 좋아요 idMESSAGE일 경우엔 메시지 idpostId는 type이 FOLLOW일 경우엔 null로 보내주세요. |
Follow | POST | /follow/create | 특정 유저를 팔로우 | Header, Body | Authorization: bearer JWT토큰{ "userId": String} | Follow | - |
ㅤ | DELETE | /follow/delete | 특정 유저를 언팔 | Header, Body | Authorization: bearer JWT토큰{ "id": String} | Follow | - |
Message | GET | /messages/conversations | 나와 메시지함 조회 | Header | Authorization: bearer JWT토큰 | Conversation[] | - |
ㅤ | GET | /messages | 특정 사용자와 소통한 메시지 목록 조회 | Header, Params | Authorization: bearer JWT토큰userId: String | Message[] | - |
ㅤ | PUT | /messages/update-seen | 특정 사용자와 나눈 메시지를 읽음처리 | Header, Body | Authorization: bearer JWT토큰{
"sender": String // 사용자 id
} | - | - |
ㅤ | POST | /messages/create | 특정 사용자에게 메시지를 전송 | Header, Body | Authorization: bearer JWT토큰{ "message": String, "receiver": String // 사용자 id} | Message | - |
Search | GET | /search/users/{query} | 사용자를 검색 | - | - | User[] | - |
ㅤ | GET | /search/all/{query} | 포스트와 사용자를 검색 | - | - | (User | Post)[] | - |