Search
Duplicate

API ๋ช…์„ธ

Search
์šฐ์„ ์ˆœ์œ„
๋‹ด๋‹น
์™„๋ฃŒ์—ฌ๋ถ€
๋ถ„๋ฅ˜
๊ธฐ๋Šฅ
method
url
๊ถ๊ธˆํ•œ ์ 
์š”๊ตฌ์‚ฌํ•ญ
request header
request
response
์—๋Ÿฌ์ฝ”๋“œ
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
POST
/api/auth/login
์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด Jwt ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๋Š”๋‹ค.
-
{ "username": "๋กœ๊ทธ์ธ์•„์ด๋””", (String) "password": "๋น„๋ฐ€๋ฒˆํ˜ธ", (String) }
204 OK ํ—ค๋”: Jwt ์—‘์„ธ์Šค ํ† ํฐ, ์ฟ ํ‚ค: Refresh ํ† ํฐ
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
DELETE
/api/auth/logout
๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋กœ ํ† ํฐ์„ ๋ณด๋‚ธ ํ›„ ํ† ํฐ ์‚ญ์ œ
Authorization - Jwt
-
204 NO_CONTENT
์ถ”๊ฐ€
๋ฏผ์ค‘
์™„๋ฃŒ
POST
/api/auth/reissue
Refresh ํ† ํฐ์œผ๋กœ ์š”์ฒญํ•˜์—ฌ Refresh, Access ํ† ํฐ ์žฌ๋ฐœ๊ธ‰
์ฟ ํ‚ค: Refresh ํ† ํฐ
204 OK ํ—ค๋”: Jwt ์—‘์„ธ์Šค ํ† ํฐ, ์ฟ ํ‚ค: Refresh ํ† ํฐ
400 ์œ ํšจํ•˜์ง€ ์•Š์€ ํ† ํฐ์œผ๋กœ ์š”์ฒญ์‹œ
POST
์—๋Ÿฌ์‘๋‹ต ํฌ๋งท์œผ๋กœ ์ž‘์„ฑ
์ถ”๊ฐ€
๋ณด๋ฅ˜
GET
-
-
-
-
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
ํšŒ์› ๋ฐ ์ธ์ฆ
POST
/api/member/signup
์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ํ˜•ํƒœ๋กœ ์„œ๋น„์Šค์— ๊ฐ€์ž…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
-
{ "username": "๋กœ๊ทธ์ธ์•„์ด๋””", (String) "password": "๋น„๋ฐ€๋ฒˆํ˜ธ", (String) "nickname": "๋‹‰๋„ค์ž„" }
201 CREATED
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
GET
/api/member/username/verify?username={username}
์•„์ด๋”” ์ค‘๋ณต๊ฒ€์‚ฌ
query string username - ์•„์ด๋””
204 NO_CONTENT
409 - ์•„์ด๋””๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
ํ”„๋กœํ•„ ๊ด€๋ฆฌ
GET
/api/member/nickname/verify
200 OK
409 - ๋‹‰๋„ค์ž„์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
์ถ”๊ฐ€
๋ฏผ์ค‘
์™„๋ฃŒ
PUT
/api/member/{memberId}
Authorization - Jwt
{ "nickname": "๋‹‰๋„ค์ž„", (String) "introduce": "ํ•œ์ค„์†Œ๊ฐœ", (String) "password": "๋น„๋ฐ€๋ฒˆํ˜ธ", (String) "confirmPassword": "๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ" (String) }
200 OK { "nickname": "๋‹‰๋„ค์ž„", (String) "introduce": "ํ•œ์ค„์†Œ๊ฐœ", (String) }
400 - ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ ๋‹ค๋ฆ„ 403 - ์ˆ˜์ •๊ถŒํ•œ ์—†์Œ 404 - memberId ํ”„๋กœํ•„ ์—†์Œ
์ถ”๊ฐ€
๋ฏผ์ค‘
์™„๋ฃŒ
GET
/api/member/{memberId}
path variable memberId - ํšŒ์› ID
{ "nickname": "๋‹‰๋„ค์ž„", (String) "introduce": "ํ•œ์ค„์†Œ๊ฐœ", (String) }
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
PATCH
/api/member/{memberId}/password
Authorization - Jwt
{ โ€passwordโ€:โ€๋น„๋ฐ€๋ฒˆํ˜ธโ€ }
200OK { โ€passwordโ€: โ€œ๋น„๋ฐ€๋ฒˆํ˜ธโ€ }
ํ•„์ˆ˜
๋ฏผ์ค‘
์™„๋ฃŒ
ํ”ผ๋“œ
GET
/api/post
-
200 OK [{ โ€categoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, โ€nicknameโ€ : โ€œ์ž‘์„ฑ์žโ€, โ€titleโ€ : โ€œ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉโ€, โ€contentโ€ : โ€œ๋‚ด์šฉโ€, โ€œimageโ€: โ€œimg-urlโ€, โ€likesโ€ : 123, โ€commentsโ€ : [{}, {}], โ€created_date_timeโ€ : โ€œ2023-07-26โ€, โ€modified_date_timeโ€ : โ€œ2023-07-26โ€ }, { โ€categoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌ2โ€, โ€nicknameโ€ : โ€œ์ž‘์„ฑ์ž2โ€, โ€titleโ€ : โ€œ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉ2โ€, โ€contentโ€ : โ€œ๋‚ด์šฉ2โ€, โ€œimageโ€: โ€œimg-url2โ€, โ€likesโ€ : 13, โ€commentsโ€ : [{}, {}], โ€created_date_timeโ€ : โ€œ2023-07-27โ€, โ€modified_date_timeโ€ : โ€œ2023-07-27โ€ }]
ํ•„์ˆ˜
์„ฑํ˜ธ
์™„๋ฃŒ
๊ฒŒ์‹œ๋ฌผ
POST
/api/post
Authorization - Jwt
{ โ€titleโ€:โ€์ œ๋ชฉโ€ โ€contentsโ€:โ€๋‚ด์šฉโ€ โ€categoryโ€: โ€œ์นดํ…Œ๊ณ ๋ฆฌ ์ข…๋ฅ˜โ€ }
200 OK { โ€post_idโ€: โ€œidโ€ โ€categoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, โ€nicknameโ€ : โ€œ์ž‘์„ฑ์žโ€, โ€titleโ€ : โ€œ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉโ€, โ€contentโ€ : โ€œ๋‚ด์šฉโ€, โ€œimageโ€: [ { โ€œimg-urlโ€:โ€urlโ€, โ€œfileTypeโ€: โ€œํŒŒ์ผ ํƒ€์ž…โ€ } ] โ€created_date_timeโ€ : โ€œ2023-07-26โ€, }
ํ•„์ˆ˜
์„ฑํ˜ธ
์™„๋ฃŒ
GET
/api/post/{id}
200 OK { โ€post_idโ€: โ€œidโ€ โ€categoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, โ€nicknameโ€ : โ€œ์ž‘์„ฑ์žโ€, โ€titleโ€ : โ€œ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉโ€, โ€contentโ€ : โ€œ๋‚ด์šฉโ€, โ€œimageโ€: [ { โ€œimg-urlโ€:โ€urlโ€, โ€œfileTypeโ€: โ€œํŒŒ์ผ ํƒ€์ž…โ€ } ] โ€likesโ€ : 123, โ€created_date_timeโ€ : โ€œ2023-07-26โ€, โ€modified_date_timeโ€ : โ€œ2023-07-26โ€ โ€commentsโ€ : [ { โ€commentโ€: โ€์ฝ”๋ฉ˜ํŠธโ€ , โ€œnicknameโ€: โ€œ๋‹‰๋„ค์ž„โ€ } ] โ€likeโ€:[ ] }
ํ•„์ˆ˜
์„ฑํ˜ธ
์™„๋ฃŒ
PUT
/api/post/{id}
Authorization - Jwt
{ โ€titleโ€:โ€์ œ๋ชฉโ€ โ€contentsโ€:โ€๋‚ด์šฉโ€ }
200 OK { โ€post_idโ€: โ€œidโ€ โ€categoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, โ€nicknameโ€ : โ€œ์ž‘์„ฑ์žโ€, โ€titleโ€ : โ€œ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉโ€, โ€contentโ€ : โ€œ๋‚ด์šฉโ€, โ€œimageโ€: [โ€œimg-urlโ€] โ€created_date_timeโ€ : โ€œ2023-07-26โ€, โ€modified_date_timeโ€ : โ€œ2023-07-26โ€ }
ํ•„์ˆ˜
์„ฑํ˜ธ
์™„๋ฃŒ
DELETE
/api/post/{postid}
Authorization - Jwt
200 OK
ํ•„์ˆ˜
์œ ์ง„
์™„๋ฃŒ
๋Œ“๊ธ€
POST
/api/post/{postId}/comment
Authorization - Jwt
{ โ€commentโ€: โ€œcommentโ€ }
201 CREATE
ํ•„์ˆ˜
์œ ์ง„
์™„๋ฃŒ
GET
/api/post/{postId}/comment/{commentId}
Authorization - Jwt
-
200 OK { โ€œcommentโ€ : โ€œ๋‚ด์šฉโ€, โ€œwriterโ€ : โ€œ์ž‘์„ฑ์ž ๋‹‰๋„ค์ž„โ€, โ€œcreated_date_timeโ€ : โ€œ์ž‘์„ฑ์ผโ€ }
ํ•„์ˆ˜
์œ ์ง„
์™„๋ฃŒ
PUT
/api/post/{postId}/comment/{commentId}
Authorization - Jwt
{ โ€commentโ€: โ€œcommentโ€ }
200 OK
ํ•„์ˆ˜
์œ ์ง„
์™„๋ฃŒ
DELETE
/api/post/{postId}/comments/{commentId}
Authorization - Jwt
-
204 NO_CONTENT
์ถ”๊ฐ€
์„ฑํ˜ธ
์™„๋ฃŒ
์ข‹์•„์š”
POST
/api/post/{postsId}/like
Authorization - Jwt
201 CREATED
์ถ”๊ฐ€
์„ฑํ˜ธ
์™„๋ฃŒ
DELETE
/api/post/{postsId}/like
Authorization - Jwt
-
204 NO_CONTENT
์ถ”๊ฐ€
์„ฑํ˜ธ
์™„๋ฃŒ
ํŒŒ์ผ
POST
/api/post/{postId}/file
Authorization - Jwt
{ โ€fileโ€ : โ€œํŒŒ์ผโ€ }
200 OK
์ถ”๊ฐ€
์„ฑํ˜ธ
์™„๋ฃŒ
DELETE
/api/post/{postId}/file
Authorization - Jwt
-
204 NO_CONTENT
์ถ”๊ฐ€
๋ฏผ์ค‘
์™„๋ฃŒ
DELETE
/api/member/{memberId}/follow
Authorization - Jwt
-
204 NO_CONTENT
์ถ”๊ฐ€
๋ฏผ์ค‘
์™„๋ฃŒ
ํŒ”๋กœ์šฐ
POST
/api/member/{memberId}/follow
Authorization - Jwt
-
201 OK
์ถ”๊ฐ€
๋ฏผ์ค‘
์™„๋ฃŒ
GET
/api/member/{memberId}/follow
-
200 OK { โ€œfollowersโ€ : [ { โ€memberIdโ€: โ€œidโ€, โ€œnicknameโ€: โ€œ๋‹‰๋„ค์ž„โ€ }โ€ฆ ] }