Search
Duplicate

API ๋ช…์„ธ

Search
๋‹ด๋‹น์ž
์ง„ํ–‰ ์ƒํ™ฉ
์šฐ์„ ์ˆœ์œ„
๋ถ„๋ฅ˜
๊ธฐ๋Šฅ
method
URL
request
response
์š”๊ตฌ์‚ฌํ•ญ
Token
request header
response header
์—๋Ÿฌ ์ฝ”๋“œ
์œ ์ง„
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
POST
/api/users/signup
{ "email" : โ€œemail@email.com", "username" : "์œ ์ €๋„ค์ž„", "password" : "password", "confirmPassword" : โ€œpasswordโ€ }
{ "message" : "ํšŒ์›๊ฐ€์ž… ์„ฑ๊ณต" }
username : ํ•œ๊ธ€, ์˜์–ด, ์ˆซ์ž (1~50์ž) email : ^(?:\w+\.?)*\w+@(?:\w+\.)+\w (7~50์ž) password : ^[a-zA-Z0-9]+$ (8~15์ž)
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
POST
/api/users/login
{ "email" : โ€œemail@email.com", "password" : "password" }
{ "message" : "๋กœ๊ทธ์ธ ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
GET
/api/users/logout
-
{ "message" : "๋กœ๊ทธ์•„์›ƒ ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
1์ˆœ์œ„
์œ ์ €
GET
/api/users/login/kakao/callback
-
{ "message" : "์นด์นด์˜ค ๋กœ๊ทธ์ธ ์„ฑ๊ณต" }
์™„๋ฃŒ
2์ˆœ์œ„
์œ ์ €
POST
/api/users/withdrawal
{ "password" : "password" }
{ "message" : "ํšŒ์› ํƒˆํ‡ด ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
PATCH
/api/users/update
{ "email" : โ€œemail@email.com", "username" : "์œ ์ €๋„ค์ž„" "oldPassword" : "์ด์ „ ๋น„๋ฐ€๋ฒˆํ˜ธ", "newPassword" : "์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ", โ€confirmPasswordโ€ : โ€œ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธโ€ }
{ "message" : "์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ • ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
2์ˆœ์œ„
์œ ์ €
GET
/api/users/profile
-
{ย  ย  "success": true, ย  ย  "httpStatus": "OK", ย  ย  "errorMessages": null, ย  ย  "data": { ย  ย  ย  ย  "username": "username", "email": โ€œemail@email.com" ย  ย  } }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
2์ˆœ์œ„
์œ ์ €
GET
/api/users/profile/{otherUserId}
-
{ย  ย  "success": true, ย  ย  "httpStatus": "OK", ย  ย  "errorMessages": null, ย  ย  "data": { ย  ย  ย  ย  "username": "username" ย  ย  } }
{ "Authorization": Bearer tokenvalue }
์ค€ํ˜
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
POST
/api/clubs
{ โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }
{ โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
GET
/api/clubs
{ โ€pageโ€:1, โ€totalCountโ€:20, โ€œdataโ€ : [ { "groupId": 1, โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }, { โ€pageโ€:1, โ€totalCountโ€:20, "groupId": 2, โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, } ] }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
GET
/api/clubs/{clubId}
{ "groupId": 1 โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
POST
/api/clubs/{clubId}
{ โ€œusernameโ€: โ€œ์œ ์ €๋„ค์ž„โ€, โ€œemailโ€:โ€email@email.comโ€ }
{ "message" : "๋ชจ์ž„ ๊ฐ€์ž… ์„ฑ๊ณต" }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
DELETE
/api/clubs/{clubId}
{ "message" : "๋ชจ์ž„ ์‚ญ์ œ ์„ฑ๊ณต" }
์™„๋ฃŒ
1์ˆœ์œ„
๋ชจ์ž„
PATCH
/api/clubs/{clubId}
{ โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }
{ "message" : "๋ชจ์ž„ ์ •๋ณด ๋ณ€๊ฒฝ ์„ฑ๊ณต" }
์™„๋ฃŒ
1์ˆœ์œ„
๋ชจ์ž„
DELETE
/api/clubs/{clubId}
{ โ€œmessageโ€ : โ€œํšŒ์› ํƒˆํ‡ด ์„ฑ๊ณตโ€ }
์™„๋ฃŒ
1์ˆœ์œ„
๋ชจ์ž„
PATCH
/api/clubs/{clubId}/category
{ โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๋ชจ์ž„
PATCH
/api/clubs/{clubId}/email
{ โ€œemailโ€:โ€email@email.comโ€ }
ํ•œ์ค€
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
POST
/api/clubs/{clubId}/posts
{ โ€œpostTitleโ€ : โ€œ์ œ๋ชฉโ€ โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€ โ€imageUrlโ€ : "myfolder/img.jpgโ€ }
{ โ€œpostTitleโ€ : โ€์ œ๋ชฉโ€, โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€, โ€imageUrlโ€ : "myfolder/img.jpgโ€ โ€viewCountโ€: 0, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
GET
/api/clubs/{clubId}/posts/{postId}
{ โ€œpostTitleโ€ : โ€œ์ œ๋ชฉโ€ โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€ โ€imageUrlโ€ : "myfolder/img.jpgโ€, โ€viewCountโ€: 1, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
GET
/api/clubs/{clubId}/posts?page=1&size=5
{ โ€œpageโ€ : 1, โ€œsizeโ€ : 10 }
{ โ€pageโ€:1, โ€totalCountโ€:20, โ€œdataโ€ : [ { โ€postTitle" : "์ œ๋ชฉ", โ€imageUrlโ€ : "myfolder/img.jpgโ€, โ€viewCountโ€: 1, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }, { โ€postTitle" : "์ œ๋ชฉ", โ€imageUrlโ€ : "myfolder/img.jpgโ€, โ€viewCountโ€:1, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }, ] }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
PATCH
/api/clubs/{clubId}/posts/{postId}
{ โ€œpostTitleโ€ : โ€œ์ œ๋ชฉโ€ โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€ โ€imageUrlโ€ : "myfolder/img.jpgโ€ }
{ "message" : "๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ์™„๋ฃŒ" }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
DELETE
/api/clubs/{clubId}/posts/{postId}
{ โ€œmessageโ€ : โ€œ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ์™„๋ฃŒโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๊ฒŒ์‹œ๊ธ€
POST
/api/clubs/{clubId}/posts/{postId}/like
{ โ€œmessageโ€ : โ€œ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ์™„๋ฃŒโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๊ฒŒ์‹œ๊ธ€
DELETE
/api/clubs/{clubId}/posts/{postId}/like
{ โ€œmessageโ€ : โ€œ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ์‚ญ์ œ ์™„๋ฃŒโ€ }
ํšจ์ •
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ“๊ธ€
POST
/api/groups/{groupId}/posts/{postId}/comments
{ โ€œcommentโ€ : โ€๋Œ“๊ธ€โ€ }
{ โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€, "writer" : "์ž‘์„ฑ์ž", โ€likesโ€:1, "createdAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ“๊ธ€
GET
/api/groups/{groupId}/posts/{postId}/comments?page=1&size=2
{ โ€pageโ€:1, โ€totalCountโ€:20, โ€œdataโ€ : [ { โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€, "writer" : "์ž‘์„ฑ์ž", โ€likesโ€:1, "createdAt" : "2024/01/04 12:53PM" }, { โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€ , "writer" : "์ž‘์„ฑ์ž", โ€likesโ€ : 1, "createdAt" : "2024/01/04 12:53PM" } ] }
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ“๊ธ€
PATCH
/api/groups/{groupId}/posts/{postId}/comments/{commentId}
{ โ€œcommentโ€ : โ€๋Œ“๊ธ€โ€ }
{ โ€œmessageโ€ : โ€œ๋Œ“๊ธ€ ์ˆ˜์ • ์™„๋ฃŒโ€ }
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ“๊ธ€
DELETE
/api/groups/{groupId}/posts/{postId}/comments/{commentId}
{ โ€œmessageโ€ : โ€œ๋Œ“๊ธ€ ์‚ญ์ œ ์™„๋ฃŒโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๋Œ“๊ธ€
POST
/api/groups/{groupId}/posts/{postId}/comments/{commentId}/likes
{ โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€, "username" : "์ž‘์„ฑ์ž", โ€likesโ€:1, "createdAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
2์ˆœ์œ„
๋Œ“๊ธ€
DELETE
/api/groups/{groupId}/posts/{postId}/comments/{commentId}/likes/{likeId}
{ โ€œmessageโ€ : โ€œ๋Œ“๊ธ€ ์ข‹์•„์š” ์‚ญ์ œ ์™„๋ฃŒโ€ }
์ง€ํ—Œ
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ€๋Œ“๊ธ€
POST
/api/groups/{groupId}/posts/{postId}/comments/{commentId}/replies
{ โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€ }
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ€๋Œ“๊ธ€
GET
/api/groups/{groupId}/posts/{postId}/comments/{commentId}/replies
{ โ€œpageโ€ : 1, โ€œsizeโ€ : 10, โ€œtotalCountโ€ : 100 โ€œcommentโ€ : [ { โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€, "username" : "์ž‘์„ฑ์ž", "createdAt" : "2024/01/04 12:53PM" }, { โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€, "username" : "์ž‘์„ฑ์ž", "createdAt" : "2024/01/04 12:53PM" } ] }
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ€๋Œ“๊ธ€
PATCH
/api/groups/{groupId}/posts/{postId}/comments/{commentId}/replies/{replyId}
{ โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€ }
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ€๋Œ“๊ธ€
DELETE
/api/groups/{groupId}/posts/{postId}/comments/{commentId}/replies/{replyId}
{ โ€œmessageโ€ : โ€œ๋Œ€๋Œ“๊ธ€ ์‚ญ์ œ ์™„๋ฃŒโ€ }