-
Notifications
You must be signed in to change notification settings - Fork 6
API Specification
code.seholee.com:8082/example
Operational Summary
Operational description
name | type | description | required |
---|---|---|---|
id | type | parameter description(optional) | Optional or Required |
name | type | description | required |
---|---|---|---|
id | type | parameter description(optional) | Optional or Required |
name | type | description | required |
---|---|---|---|
id | type | parameter description(optional) | Optional or Required |
name | type | description | required |
---|---|---|---|
id | type | parameter description(optional) | Optional or Required |
200 OK : description
{
// Response
}
201 Created: description
{
// Response
}
code.seholee.com:8082/auth/login
detail
name | type | description | required |
---|---|---|---|
uid | string | 로그인 할 사용자의 아이디 | Required |
password | string | 로그인 할 사용자의 비밀번호 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {
"expiresIn": 3600,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTEsIm5hbWUiOiLsnbTshLjtmLjrobHsnbQiLCJzZXJ2aWNlTnVtYmVyIjoiMjItNzYwMDEwMTEiLCJpYXQiOjE2NjQ5NTUxNDgsImV4cCI6MTY2NDk1ODc0OH0.Ay5K2VE7Fu2okskO-9UCBatZcrZjS3f1FFBFgQwpXGY"
},
"message" : "login"
}
code.seholee.com:8082/auth/logout
detail
200 Ok : 성공적으로 로그아웃된 경우
{
"data" : {
logOutUserData
},
"message" : "logout"
}
code.seholee.com:8082/message/{id}
detail
name | type | description | required |
---|---|---|---|
id | integer | 채팅방 아이디 | Required |
200 Ok : 성공적으로 조회된 경우
{
"data" : [
{
_id: Int,
text: String,
sendTime: DATE_TIME,
deleteTime: DATE_TIME,
senderId: Int,
belongChatroomId: Int,},
...
],
"message" : "get unread messages"
}
code.seholee.com:8082/message/setRecentRead
detail
name | type | description | required |
---|---|---|---|
chatroomId | integer | 채팅방 아이디 | Required |
recentMessageId | integer | 최근 메시지 아이디 | Required |
200 Ok : 성공적으로 조회된 경우
{
"message" : "success"
}
code.seholee.com:8082/message/unread
detail
name | type | description | required |
---|---|---|---|
chatroomId | integer | 채팅방 아이디 | Required |
recentMessageId | integer | 최근 메시지 아이디 | Required |
200 Ok : 성공적으로 조회된 경우
{
"data" : [
<User>,...
],
"message" : "get unread peoples"
}
code.seholee.com:8082/read
detail
name | type | description | required |
---|---|---|---|
chatroomId | integer | 채팅방 아이디 | Required |
recentMessageId | integer | 최근 메시지 아이디 | Required |
200 Ok : 성공적으로 조회된 경우
{
"data" : [
<User>,...
],
"message" : "get read peoples"
}
code.seholee.com:8082/users
detail
사용자 생성 api
name | type | description | required |
---|---|---|---|
uid | String | 아이디 | Required |
password | String | 패스워드 | Required |
name | String | 성명 | Required |
serviceNumber | String | 군번 | Required |
enlistmentDate | String | 입대일 | Required |
affiliatedUnit | String | 전역일 | Required |
militaryRank | String | 계급 | Required |
image | String | 프로필 이미지 URL | Not Required |
201 Created : 성공적으로 친구 추가 된 경우
{
"message" : "created"
}
400 Bad Request: 필수 필드가 없는 경우
{
"message" : "{JSON FEILD} is empty"
}
//ValidationError
409 Conflict: 이미 데이터가 존재할 경우
- 친구 id가 존재하지 않는 경우
{
"message" : "This uid ${userData.uid} already exists"
}
code.seholee.com:8082/users/friends
detail
name | type | description | required |
---|---|---|---|
name | String | 성명 | Required |
serviceNumber | String | 군번 | Required |
200 OK : 성공적으로 친구 추가 된 경우
{
"data": <UserData>
"message" : "findOne"
}
400 Bad Request: 필수 필드가 없는 경우
{
"message" : "{JSON FEILD} is empty"
}
//ValidationError
code.seholee.com:8082/users/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | integer | 조회할 사용자의 id | Required |
200 Ok : 성공적으로 사용자를 조회한 경우
{
"data" : {
{
userId: number,
uid: string,
name: string,
serviceNumber: string,
affiliatedUnit: string | null,
militaryRank: string | null,
image: string | null,
enlistmentDate: Date | null
}
},
"message" : "findOne"
}
400 Bad Request: 필수 필드가 없는 경우
{
"message" : "UserId is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
{
"message" : "User doesn't exist"
}
code.seholee.com:8082/users/me
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
200 Ok : 성공적으로 친구를 조회한 경우
``` { "data" : { { userId: number, uid: string, name: string, serviceNumber: string, affiliatedUnit: string | null, militaryRank: string | null, image: string | null, enlistmentDate: Date | null } }, "message" : "findOne" } ```400 Bad Request: 사용자 정보가 없는 경우
{
"message" : "UserId is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
{
"message" : "User doesn't exist"
}
code.seholee.com:8082/users/updateUserInfo
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
userId | String | 사용자 식별자 | Required |
uid | String | 아이디 | Not Required |
password | String | 패스워드 | Not Required |
name | String | 성명 | Not Required |
serviceNumber | String | 군번 | Not Required |
enlistmentDate | String | 입대일 | Not Required |
affiliatedUnit | String | 전역일 | Not Required |
militaryRank | String | 계급 | Not Required |
image | String | 프로필 이미지 URL | Not Required |
200 Ok : 성공적으로 업데이트한 경우
``` { "message" : "updated" } ```400 Bad Request: 사용자 정보가 없는 경우
{
"message" : "UserId is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
{
"message" : "User doesn't exist"
}
code.seholee.com:8082/users/updateUserPw
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
currentPassword | String | 현재 비밀번호 | Required |
password | String | 수정된 비밀번호 | Required |
200 Ok : 성공적으로 업데이트한 경우
``` { "message" : "updated" } ```400 Bad Request: 사용자 정보가 없는 경우
{
"message" : "UserId is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
{
"message" : "User doesn't exist"
}
code.seholee.com:8082/users/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | integer | 삭제할 사용자의 id | Required |
200 Ok : 성공적으로 친구를 삭제한 경우
{
"data" : {
"count": 1
},
"message" : "deleted"
}
400 Bad Request: 요청에서 id가 없는 경우
{
"message" : "userID is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
- 사용자 id가 존재하지 않는 경우
{
"message" : "User doesn't existId"
}
code.seholee.com:8082/users/publicKey
detail
name | type | description | required |
---|---|---|---|
publicKey | String | 퍼블릭키 | Required |
200 OK : 성공적으로 퍼블릭키 추가 된 경우
{
"message" : "updated"
}
400 Bad Request: 필수 필드가 없는 경우
{
"message" : "{JSON FEILD} is empty"
}
//ValidationError
409 Conflict: 사용자가 존재하지 않는 경우
- 사용자 id가 존재하지 않는 경우
{
"message" : "User doesn't existId"
}
code.seholee.com:8082/publicKey
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | integer | 조회할 사용자의 id | Required |
200 Ok : 성공적으로 퍼블릭키를 조회한 경우
{
"data" : {
"key":<publicKey>
},
"message" : "updated"
}
400 Bad Request: 필수 필드가 없는 경우
{
"message" : "UserId is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
- 사용자 id가 존재하지 않는 경우
{
"message" : "User doesn't existId"
}
code.seholee.com:8082/friends
detail
현 사용자의 친구를 추가하는 기능
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
followingId | integer | 친구 추가 할 사용자의 userId | Required |
201 Created : 성공적으로 친구 추가 된 경우
{
"data" : {
"followerId": "number",
"followingId": "number"
},
"message" : "created"
}
400 Bad Request: followingId가 없는 경우
{
"message" : "friendData is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 친구 id가 존재하지 않거나, 이미 친구 관계인 경우
- 친구 id가 존재하지 않는 경우
{
"message" : "This follower id ${friendData.followerId} not exists"
}
- 이미 친구관계인 경우
{
"message" : "This friend follwer-${friendData.followerId} and followind-${friendData.followerId} already exists"
}
code.seholee.com:8082/friends
detail
현 사용자의 친구를 조회하는 기능
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
200 Ok : 성공적으로 친구를 조회한 경우
{
"data" : {
[
{
userId: number,
uid: string,
name: string,
serviceNumber: string,
affiliatedUnit: string | null,
militaryRank: string | null,
image: string | null,
enlistmentDate: Date | null
},
...
]
},
"message" : "findFriends by userid ${userId}"
}
400 Bad Request: 사용자 정보가 없는 경우
{
"message" : "UserId is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
{
"message" : "Authentication token missing"
}
409 Conflict: 사용자가 존재하지 않는 경우
{
"message" : "User doesn't exist"
}
code.seholee.com:8082/friends
detail
현 사용자의 친구를 삭제하는 기능
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
followingId | integer | 친구 추가 할 사용자의 userId | Required |
200 Ok : 성공적으로 친구를 삭제한 경우
{
"data" : {
"count": 1
},
"message" : "deleted"
}
400 Bad Request: 요청에서 followingId가 없는 경우
{
"message" : "friendData is empty"
}
ValidationError
401 Unauthorized: 인증 토큰이 잘못된 경우
{
"message" : "Wrong authentication token"
}
404 Not Found: 인증 토큰이 없는 경우
``` { "message" : "Authentication token missing" } ```409 Conflict: 사용자가 존재하지 않는 경우
- 친구가 존재하지 않는 경우 ``` { "message" : "Friends doesn't exist" } - 사용자 id가 존재하지 않는 경우 ``` { "message" : "User doesn't existId" } ```
code.seholee.com:8082/allclear/create
detail
parameter로 받은 메시지를 [이상무 보고allclear]로 만들어줌.
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
messageId | integer | allclear로 만들 message id | Required |
201 Created: message를 allclear로 만드는 데 성공한 경우
{
"message": "success"
}
409 Conflict: 이미 allclear가 만들어진 message를 또 allclear로 만들려고 시도하는 경우
{
"message": "All clear already exist."
}
code.seholee.com:8082/allclear/response/all/{messageId}
detail
path parameter로 받은 메시지 id에 해당하는 allclear 응답 전체를 사용자와 함께 리턴함.
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
messageId | integer | allclear를 조회할 message id | Required |
200 Ok: message id에 해당하는 allclear를 조회하는 데 성공한 경우
{
"data": [
{
"allClearResponseId": 1,
"type": "PROBLEM",
"content": "cleartest",
"allClearId": 1,
"userId": 5,
"user": {
"userId": 5,
"uid": "tester1",
"name": "1번로그인예제1",
"serviceNumber": "11111111",
"affiliatedUnit": null,
"militaryRank": null,
"image": null,
"enlistmentDate": null
}
},
{
"allClearResponseId": 2,
"type": "PROBLEM",
"content": "cleartest",
"allClearId": 1,
"userId": 6,
"user": {
"userId": 6,
"uid": "tester2",
"name": "2번로그인예제2",
"serviceNumber": "22222222",
"affiliatedUnit": null,
"militaryRank": null,
"image": null,
"enlistmentDate": null
}
}
],
"message": "get whole all clear reponses"
}
403 Forbidden: allclear 개설자가 아닌데 해당 API에 접근한 경우
{
"message": "You are not permitted to access this resource"
}
404 Not Found: path parameter로 받은 message id가 allclear가 아닌 경우
{
"message": "All clear does not exist."
}
code.seholee.com:8082/allclear/response/{messageId}
detail
user가 path parameter로 받은 메시지 id에 해당하는 allclear에 작성한 내용을 리턴함.
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
messageId | integer | allclear를 조회할 message id | Required |
200 Ok: user가 작성한 message id에 해당하는 allclear를 조회하는 데 성공한 경우
{
"data": {
"allClearResponseId": 1,
"type": "PROBLEM",
"content": "cleartest",
"allClearId": 1,
"userId": 5
},
"message": "get all clear reponse"
}
404 Not Found: path parameter로 받은 message id가 allclear가 아닌 경우
{
"message": "All clear does not exist."
}
code.seholee.com:8082/allclear/response/create
detail
parameter로 받은 message id의 allclear에 내용을 작성함.
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
messageId | integer | [작성할 allclear에 해당하는 message id | Required |
allClearResponseType | enum('PROBLEM', 'CLEAR') | 응답 종류 | Required |
content | string | 응답 내용 | Required |
200 Ok: user가 작성한 message id에 해당하는 allclear를 조회하는 데 성공한 경우
{
"message": "success"
}
404 Not Found: parameter로 받은 message id가 allclear가 아닌 경우
{
"message": "All clear does not exist."
}
code.seholee.com:8082/chatroom/my
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : <chatRoomData>,
"message" : "found all matching chatrooms"
}
code.seholee.com:8082/chatroom/myUnreads
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {<ChatroomAndNumOfUnreadMessages>...},
"message" : "found all matching chatrooms and unread messages number"
}
code.seholee.com:8082/chatroom/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | integer | 채팅방 아이디 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {
<chatroomWithKey>},
"message" : "found the matching chatroom"
}
code.seholee.com:8082/chatroom/getAllUsersInfo/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | integer | 채팅방 아이디 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {
<User>... },
"message" : "success"
}
code.seholee.com:8082/chatroom/invite
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
chatroomId | int | 채팅방 아이디 | Required |
targetUserIds | int | 초대할 사용자 아이디 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"message" : "success"
}
code.seholee.com:8082/chatroom/getAllFriends
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {
<User>...},
"message" : "found all friends for the user"
}
code.seholee.com:8082/chatroom/create
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
name | string | 채팅방 이름 | Required |
targetUserIds | number[] | 초대할 사용자 리스트 | Required |
msgExpTime | number | 메시지 보관 기간 | Required |
commanderUserIds | number[] | 상급자 사용자 아이디 | Required |
removeAfterRead | boolean | 읽은 후 삭제 설정 | Required |
removeType | ChatRemoveType | 삭제 설정 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {
<chatroomInfo>},
"message" : "success"
}
code.seholee.com:8082/chatroom/modify
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
name | string | 채팅방 이름 | Required |
targetUserIds | number[] | 초대할 사용자 리스트 | Required |
msgExpTime | number | 메시지 보관 기간 | Required |
removeAfterRead | boolean | 읽은 후 삭제 설정 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"message" : "success"
}
code.seholee.com:8082/chatroom/chatroomKey
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
forChatroomId | string | 채팅방 아이디 | Required |
forUserId | string | 사용자 아이디 | Required |
encryptedKey | string | 암호화 키 | Required |
200 Ok : 성공적으로 요청된 경우
{
"message" : "success"
}
code.seholee.com:8082/chatroom/getChatroomKey/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | string | 채팅방 아이디 | Required |
200 Ok : 성공적으로 요청된 경우
{
"data" : {
"encryptedKey": <encryptedKey>,
},
"message" : "success"
}
code.seholee.com:8082/chatroom/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | string | 채팅방 아이디 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"data" : {
"userId":<userId>
},
"message" : "success"
}
code.seholee.com:8082/chatroom/{id}
detail
name | type | description | required |
---|---|---|---|
Authorization | Bearer [TOKEN] 형식의 string | 사용자 인증 정보가 들어있는 토큰 | Required |
name | type | description | required |
---|---|---|---|
id | string | 채팅방 아이디 | Required |
200 Ok : 성공적으로 로그인 된 경우
{
"message" : "success"
}
token 문제로 연결되지 않는 경우, connect_error에 invalid라면 Wrong authentication token, 없다면 Authentication token missing를 리턴.
Hopefully this information was useful...