-
Notifications
You must be signed in to change notification settings - Fork 2
RESTful API
Skile edited this page May 18, 2019
·
5 revisions
-
Request: POST /users/
- Headers
- URL Params
-
Data Params
-
username
: 필수. -
password
: 필수. default_nickname
default_account
-
-
Response:
-
Success
- Code: 201 Created
- Content:
{ "id": 1, "username": "Username", "default_nickname": "", "default_account": "" }
-
Error
- Code: 400 Bad Request
- Content:
{ "<field_name>" : ["<error_message>"] }
-
-
Request: POST /token/
- Headers
- URL Params
-
Data Params
-
username
: 필수. -
password
: 필수.
-
-
Response:
-
Success
- Code: 200 OK
- Content:
{ "token": "[TOKEN]" }
-
Error
- Code: 400 Bad Request
- Content:
{ "non_field_errors": [ "Unable to log in with provided credentials." ] }
-
-
Request: GET /users/:username/
-
Headers
-
Authorization :
Token [AUTH_TOKEN]
-
Authorization :
-
URL Params
-
username
: 필수.
-
- Data Params
-
Headers
-
Response:
-
Success
- Code: 200 OK
- Content:
{ "id": 1, "username": "Username", "default_nickname": "", "default_account": "" }
-
Error
- Code: 401 Unauthorized
- Content:
{ "detail": "Authentication credentials were not provided." }
OR
- Code: 401 Unauthorized
- Content:
{ "detail": "Invalid token." }
OR
- Code: 403 Forbidden
- Content:
{ "detail": "You do not have permission to perform this action." }
-
-
Request: PUT /users/:username/
-
Headers
-
Authorization :
Token [AUTH_TOKEN]
-
Authorization :
-
URL Params
-
username
: 필수.
-
-
Data Params
password
default_name
default_account
-
Headers
-
Response:
-
Success
- Code: 200 OK
- Content:
{ "id": 1, "username": "Username", "default_nickname": "", "default_account": "" }
-
Error
- Code: 400 Bad Request
- Content:
{ "<field_name>" : ["<error_message>"] }
OR
- Code: 401 Unauthorized / 403 Forbidden
-
Room 모델을 생성하고 나서, 기본 Layer 생성 및 Member(owner) 생성이 자동으로 수행된다.
-
Request: POST /users/:username/rooms/
-
Headers
-
Authorization :
Token [AUTH_TOKEN]
-
Authorization :
-
URL Params
-
username
: 필수.
-
-
Data Params
-
name
: 필수.
-
-
Headers
-
Response:
-
Success
- Code: 201 Created
- Content:
{ "id": 1, "name": "Room Name", "url": "[SOME_RANDOM_UNIQUE_STRING]", "owner": "Username" }
-
Error
- Code: 400 Bad Request
- Content:
{ "<field_name>" : ["<error_message>"] }
OR
- Code: 401 Unauthorized / 403 Forbidden
-
-
Request: GET /users/:username/rooms/
-
Headers
-
Authorization :
Token [AUTH_TOKEN]
-
Authorization :
-
URL Params
-
username
: 필수.
-
- Data Params
-
Headers
-
Response:
-
Success
- Code: 200 OK
- Content:
[ { "id": 1, "name": "Room Name", "url": "[SOME_RANDOM_UNIQUE_STRING]", "owner": "Username" }, ... ]
-
Error
- Code: 401 Unauthorized / 403 Forbidden
-
-
Request: GET /rooms/:url/
- Headers
-
URL Params
-
url
: 필수.
-
- Data Params
-
Response:
-
Success
- Code: 200 OK
- Content:
{ "id": 1, "name": "Room Name", "url": "[SOME_RANDOM_UNIQUE_STRING]", "owner": "Username" }
-
Error
- Code: 404 Not Found
-
-
Request: DELETE /rooms/:url/
-
Headers
-
Authorization :
Token [AUTH_TOKEN]
-
Authorization :
-
URL Params
-
url
: 필수.
-
- Data Params
-
Headers
-
Response:
-
Success
- Code: 204 No Content
-
Error
- Code: 401 Unauthorized / 403 Forbidden
-
-
Request: POST /rooms/:url/members/
- Headers
-
URL Params
-
url
: 필수.
-
-
Data Params
user
-
nickname
: 필수. account
-
Response:
-
Success
- Code: 201 Created
- Content:
{ "id": 1, "nickname": "Username", "account": "", "room": "room_url", "user": null }
-
Error
- Code: 400 Bad Request
- Content:
{ "nickname" : ["중복된 별명입니다."] }
OR
- Code: 400 Bad Request
- Content:
{ "user" : ["이미 해당 방에 속해있는 사용자입니다."] }
-
-
Request: GET /rooms/:url/members/
- Headers
-
URL Params
-
url
: 필수.
-
- Data Params
-
Response:
-
Success
- Code: 200 OK
- Content:
[ { "id": 1, "nickname": "Username", "account": "", "room": "room_url", "user": null }, ... ]
-
Error
- Code: 404 Not Found
-
-
Request: PUT /rooms/:url/members/:member_pk/
- Headers
-
URL Params
-
url
: 필수. -
member_pk
: 필수. nickname이 아닌 정수 id(pk)임에 유의.
-
-
Data Params
nickname
account
user
-
Response:
-
Success
- Code: 200 OK
- Content:
{ "id": 1, "nickname": "Username", "account": "", "room": "room_url", "user": null }
-
Error
- Code: 400 Bad Request
- Content:
{ "user" : [ "이미 해당 방에 속해있는 사용자입니다.", "다른 사용자가 이미 연동된 멤버입니다.", "중복된 닉네임입니다." ] }
-
-
Request: DELETE /rooms/:url/members/:member_pk/
- Headers
-
URL Params
-
url
: 필수. -
member_pk
: 필수. nickname이 아닌 정수 id(pk)임에 유의.
-
- Data Params
-
Response:
-
Success
- Code: 204 No Content
-
Error
- Code: 400 Bad Request
- Content:
{ "non_field_errors" : [ "방장은 삭제할 수 없습니다." ] }
-