Search
Duplicate

API ๋ช…์„ธ

Search
๋ถ„๋ฅ˜
๊ธฐ๋Šฅ
method
url
์š”๊ตฌ์‚ฌํ•ญ
request
response-success
fail
์ฃผ์„
์‚ฌ์šฉ์ž
POST
/v1/users/signup
{ "username":โ€Rtanee", "password":"123456789", โ€emailโ€ : โ€œRtanee@sparta.comโ€, }
status code: 201 { "username":โ€Rtanee", "password":"123456789", โ€emailโ€ : โ€œRtanee@sparta.comโ€, }
1. ์ž…๋ ฅ๊ฐ’ ์˜ค๋ฅ˜ { "msg": "ํ—ˆ์šฉ๋œ username ๋˜๋Š” password ๊ฐ’์ด ์•„๋‹™๋‹ˆ๋‹ค.", "status": 400, "fieldError": [ { "errorField": "username", "correctPoint": "\"^[a-z0-9]{4,10}$\"์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค" }, { "errorField": "password", "correctPoint": "\"^[a-zA-Z0-9!@#$%^&*()-_+=<>?/\\[\\]{}|;:'\",.]{8,15}$\"์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค" }, { "errorField": "introduction", "correctPoint": "ํฌ๊ธฐ๊ฐ€ 1์—์„œ 30 ์‚ฌ์ด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค" }, { "errorField": "email", "correctPoint": "์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค" } ] }, 2. username ์ค‘๋ณต { "msg": "์ด๋ฏธ ์กด์žฌํ•˜๋Š” username ์ž…๋‹ˆ๋‹ค.", "status": 400 }, 3. ๊ด€๋ฆฌ์ž ์ธ์ฆ ์‹คํŒจ { "msg": "๊ด€๋ฆฌ์ž ์•”ํ˜ธ๊ฐ€ ํ‹€๋ ค ๋“ฑ๋ก์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.", "status": 400 }
PATCH
/v1/users/(userId)/password
Authorization: Bearer token
{ "currentPassword" :"123456789", "newPassword" :"123456987", "passwordCheck" :"123456987" }
status code: 204
1. ํ˜„์žฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ { "msg": "๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. } 2. ์ƒˆ๋กœ์šด ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ { "msg": "๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. }
PUT
/v1/users/(userId)/profile
Authorization: Bearer token
{ โ€idโ€ : โ€œid๊ฐ’โ€ "username":"์ˆ˜์ •๋œ ์ด๋ฆ„", "email":"์ˆ˜์ •๋œ ์ด๋ฉ”์ผ", "introduction":"์ˆ˜์ •๋œ ์†Œ๊ฐœ" }
{ โ€idโ€ : โ€œid๊ฐ’โ€ "username":"์ˆ˜์ •๋œ ์ด๋ฆ„", "email":"์ˆ˜์ •๋œ ์ด๋ฉ”์ผ", "introduction":"์ˆ˜์ •๋œ ์†Œ๊ฐœ" }
1. DB์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ด๋ฆ„๊ณผ ์ค‘๋ณต๋  ๊ฒฝ์šฐ { "msg": "์ค‘๋ณต๋œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.", } 2. DB์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ด๋ฉ”์ผ๊ณผ ์ค‘๋ณต๋  ๊ฒฝ์šฐ { "msg": "์ค‘๋ณต๋œ ์ด๋ฉ”์ผ์ž…๋‹ˆ๋‹ค.", }
GET
/v1/users/{userId}
Authorization: Bearer token
{ "userId" : "park", "email" : โ€œpark@email.com", โ€œintroduction" : "ํ•™์ƒ ์ž…๋‹ˆ๋‹ค.โ€ }
GET
/v1/users/logout
status code: 204
1. Authorization ํ—ค๋”๊ฐ€ ์—†์„ ๋•Œ { "msg": "Cannot invoke \"String.substring(int)\" because \"bearerToken\" is null", "status": 400 }, 2. Authorizationํ—ค๋”๊ฐ€ ์žˆ์ง€๋งŒ ํ† ํฐ๊ฐ’์— โ€œBearer โ€œ๊ฐ€ ์—†์„๋•Œ { "msg": "begin 7, end 0, length 0", "status": 400 }, 3. Authorizationํ—ค๋”๊ฐ€ ์žˆ์ง€๋งŒ ์œ ํšจํ•œ ํ† ํฐ์ด ์•„๋‹ ๋•Œ { "msg": "ํ•ด๋‹น ํ† ํฐ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.", "status": 400 },
POST
/v1/users/login
{ "name" : "park", "password" : "1234" }
status code: 204 { msg; โ€œ๋กœ๊ทธ์ธ ์„ฑ๊ณตํ–ˆ์–ด์š”! ์ถ•ํ•˜๋“œ๋ ค์š”!โ€ }
1. username ๋ฏธ์ผ์น˜ { "msg": "๋“ฑ๋ก๋œ ์œ ์ €๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", "status": 400 } 2. ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฏธ์ผ์น˜ { "msg": "๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.", "status": 400 }, 3. ์ค‘๋ณต ๋กœ๊ทธ์ธ ์‹œ๋„ { "msg": "์ด๋ฏธ ๋กœ๊ทธ์ธ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.", "status": 400 }
๋ณด๋“œ
POST
/v1/boards
Authorization: Bearer token
{ โ€œtitleโ€:โ€titleโ€, โ€contentโ€:โ€contentโ€ }
โ€œredirect: /api/boards/{boardsId}โ€
GET
/v1/boards/{boardId}
[{โ€post_idโ€ : โ€1โ€, โ€œtitleโ€ : โ€titleโ€, โ€contentโ€:โ€contentโ€, "createdAt": "2023-12-05T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981", โ€accessCountโ€ : โ€œ์กฐํšŒ์ˆ˜ ์ž…๋‹ˆ๋‹คโ€, โ€comment_list": [ { โ€comment_idโ€ : โ€œ3โ€, โ€user_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„1โ€, โ€contentโ€:โ€content1โ€, "createdAt": "2023-11-16T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981" }, { โ€comment_idโ€ : โ€œ4โ€, โ€user_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„2โ€, โ€contentโ€:โ€content2โ€, "createdAt": "2023-11-16T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981" } ]
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
DELETE
/v1/boards/{boardId}
Authorization: Bearer token
{ "msg" : "์‚ญ์ œ ์„ฑ๊ณต", "status" : "200" }
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
PUT
/v1/boards/{boardId}
Authorization: Bearer token
{ โ€œtitleโ€:โ€title ์ˆ˜์ •โ€, โ€contentโ€:โ€content ์ˆ˜์ •โ€ }
โ€œredirect: /api/posts/{postId}โ€
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
GET
(v1/boards/{boardId}?users={userId}")
Authorization: Bearer token
GET
/v1/boards/emailCheck
Authorization: Bearer token
204 (No Content)
PATCH
/v1/boards/{boardId}/boardColor
Authorization: Bearer token
{โ€backgroundColorโ€ : โ€GREENโ€ }
๋ฆฌ์ŠคํŠธ
POST
/v1/boards/{boardsId}/columns
Authorization: Bearer token
{ โ€œcommentโ€:โ€commentโ€ }
โ€œredirect: /api/posts/{postId}โ€
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
DELETE
/v1/boards/{boardsId}/columns/{columnsId}
Authorization: Bearer token
{ "msg" : "๋Œ“๊ธ€์ด ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.", "status" : "200" }
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
PUT
/v1/boards/{boardsId}/columns/{columnsId}
Authorization: Bearer token
{ โ€œcommentโ€:โ€commentโ€ }
โ€œredirect: /api/posts/{postId}โ€
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
POST
/v1/boards/{boardsId}/columns/{columnsId}/order/{newOrder}
Authorization: Bearer token
{ โ€targetBoardโ€: โ€œboardIdโ€ }
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
GET
/v1/boards/{boardsId}/lists/{listsId}/lists
Authorization: Bearer token
[{ โ€list_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„1โ€, โ€œtitleโ€:โ€title1โ€, โ€contentโ€:โ€content1โ€, "comment_list" : [ "writer" : "์œ ์ € ์ด๋ฆ„1", "createdAt": "2023-11-16T15:29:28.123412" ] "createdAt": "2023-11-16T15:29:28.790981" }]
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์นด๋“œ
POST
/v1/columns/{columnsId}/cards
Authorization: Bearer token
{ "title" : "title1" }
โ€œredirect: /v1/users/boards/lists/{postId}/cards
GET
/v1/columns/{columnsId}/cards/{cardsId}
Authorization: Bearer token
[{โ€card_idโ€ : โ€1โ€, โ€œtitleโ€ : โ€titleโ€, โ€contentโ€:โ€contentโ€, "due_date":"2023-12", "complete":"false", "createdAt": "2023-12-05T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981", โ€comment_list": [ { โ€comment_idโ€ : โ€œ3โ€, โ€user_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„1โ€, โ€contentโ€:โ€content1โ€, "createdAt": "2023-11-16T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981" }, { โ€comment_idโ€ : โ€œ4โ€, โ€user_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„2โ€, โ€contentโ€:โ€content2โ€, "createdAt": "2023-11-16T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981" } ]
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์นด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
DELETE
/v1/columns/{columnsId}/cards/{cardsId}
Authorization: Bearer token
204 (No Content)
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์นด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
PATCH
/v1/columns/{columnsId}/cards/{cardsId}/cardTitle
Authorization: Bearer token
{ "title" : "changeTilte" }
[{โ€card_idโ€ : โ€1โ€, โ€œtitleโ€ : โ€changeTitleโ€, โ€contentโ€:โ€changeContentโ€, "due_date":"2023-12", "complete":"false", "createdAt": "2023-12-05T15:29:28.790981", "modifiedAt": "2023-12-05T15:41:31.790981", โ€comment_list": [ { โ€comment_idโ€ : โ€œ3โ€, โ€user_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„1โ€, โ€contentโ€:โ€content1โ€, "createdAt": "2023-11-16T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981" }, { โ€comment_idโ€ : โ€œ4โ€, โ€user_idโ€ : โ€œ์œ ์ € ์ด๋ฆ„2โ€, โ€contentโ€:โ€content2โ€, "createdAt": "2023-11-16T15:29:28.790981", "modifiedAt": "2023-12-05T15:29:28.790981" } ],200 (OK)
๋ณด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์นด๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
PATCH
/v1/columns/{columnsId}/cards/{cardsId}/cardContent
Authorization: Bearer token
{ "title" : "changeCardContent" }
[{โ€titleโ€ : โ€œtitleโ€, โ€œwriterโ€ : โ€œwriterโ€, โ€œcontentโ€ : โ€œchangeContentโ€, โ€œbackgroundColorโ€ : โ€œWHITEโ€, โ€œcomments : {โ€contentโ€ : โ€œcontentโ€, โ€œcommentWriterโ€ : โ€œcommentWriterโ€}],200 (OK)
PATCH
/v1/columns/{columnsId}/cards/{cardsId}/cardColor
Authorization: Bearer token
{ "title" : "changeCardColor" }
{โ€titleโ€ : โ€œtitleโ€, โ€œwriterโ€ : โ€œwriterโ€, โ€œcontentโ€ : โ€œcontentโ€, โ€œbackgroundColorโ€ : โ€œREDโ€, โ€œcomments : {โ€contentโ€ : โ€œcontentโ€, โ€œcommentWriterโ€ : โ€œcommentWriterโ€}},200 (OK)
Load more