User API 문서
회원 가입하기
Request
POST /user/signup HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=img; filename=test.png
Content-Type: image/png
test image content
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=data
Content-Type: application/json
{"userName":"username","password":"password","nickname":"nickname","email":"email01@gmail.com"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 201,
"message" : "생성 성공"
}
로그인하기
Request
POST /user/login?_csrf=QU_RLvbyA_z_hKuqQ-mXut2RJXe5RQ3Z-paPGMeZvyzusuWpdHfhGMTBYcnSvZOSJsSj2LupCE_bcDn0y6PsKqP9ik7fg9Se HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 56
Host: localhost:8080
{
"userName" : "username",
"password" : "password"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 29
{
"nickname" : "nickname"
}
회원 정보 수정하기
Request
PATCH /user/modify/information HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
회원 정보 중복 검사하기 - 닉네임
Request
GET /user/overlap/nickname?nickname=nickname&_csrf=uM94vxMb7et-idx7k0t8Sf3TvJlm7YKqy8e6Q0Urj-MR52_B2_hKiXF_iIlT671JoWZIKs3qkaBV3rWH-fODencfuIcoggqg HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
회원 정보 중복 검사하기 - 유저 아이디
Request
GET /user/overlap/username?username=username&_csrf=TdG3faSGZsiDvLiWo2r9jvKphvwSsIX8OYPHrEvN7lB6ID3rfOjRGZOxB_-u3dn3lUfJtpPLq55wiebRCbKmlHKr3GgcQg3d HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
비밀번호 재설정
Request
PATCH /user/reset/password?_csrf=r-mV8GBXS-tNVfRDVpvSxVfg7Oa_jOgxoSaXDqpjBZHeNka4yY2nklcxLolgMMV0YLbm8zTZwd6Ku9ocxR70asgFZ6S9ASDb HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 80
Host: localhost:8080
{
"beforePassword" : "beforePassword",
"changePassword" : "changePassword"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
회원 검색하기
Request
GET /user/search/list?nickname=nickname&_csrf=hreY6FbMzg5yC50kw6Q8Y9rldasJj-IyQIinpncjdBpWdEOKtYWq3GGq_T9faq0RoIkIVrnVWJI9utofdLjFwhZBRyowFXa9 HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 547
{
"content" : [ {
"userId" : 1,
"nickname" : "nickname",
"userImg" : "uri"
} ],
"pageable" : {
"pageNumber" : 0,
"pageSize" : 1,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"size" : 1,
"number" : 0,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
회원 아이디 찾기
Request
GET /user/find/id?_csrf=8B5IcEM7MmK3AJuFKdXkhQef64hywpzB2Fdxjg2kwRVSlUPsxCstSHZeA1KaY6_kTfjQ52L9xulK96vs6GITtzqd8nQ2o3DV HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 35
Host: localhost:8080
{
"email" : "example@email.com"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
회원 탈퇴하기
Request
DELETE /user/delete?_csrf=2bb_j6KDwoBVOHQXRykvXhyRDijcb9V0qu6SuhvgNnSjxaye6NCa6ZCy9bh4WkAncQQbZy-pIxC6DuZZnoun232EVxfG95X9 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 56
Host: localhost:8080
{
"userName" : "username",
"password" : "password"
}
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
Recipe API 문서
인기 레시피 조회하기
Request
GET /recipe/popular?_csrf=cEHc27ydzt0DYICg6h96e79VNlwwaQYk724D6IURA5Bg-IkjFHHs6I-rqrguBuHF2jJOTYZlGz1UWzIJi1xm37Z3NaUEyrxF HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 506
{
"content" : [ {
"foodId" : 1,
"recipeType" : "Image",
"foodName" : "foodname",
"foodImgUrl" : "ImgURL",
"foodInformationDto" : {
"foodInformationId" : 1,
"content" : "text",
"cookingTime" : 50,
"serving" : "1"
}
} ],
"number" : 0,
"size" : 1,
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
전체 레시피 조회하기
Request
GET /recipe/list?_csrf=VSgMTR5YTKGqYULVa6Yoa9zEQfYJCddxoZ7ujFj-YQUoWNAbZR46dXtsf8KHByCxCIscWuynbJcxarVclqyI6DmdAGYda-N- HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 506
{
"content" : [ {
"foodId" : 1,
"recipeType" : "Image",
"foodName" : "foodname",
"foodImgUrl" : "ImgURL",
"foodInformationDto" : {
"foodInformationId" : 1,
"content" : "text",
"cookingTime" : 50,
"serving" : "1"
}
} ],
"number" : 0,
"size" : 1,
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
레시피 키워드로 검색
Request
GET /recipe/search/foodname?_csrf=6VQC2V37bdn6k1emlLwjlwKVo4ujpQ9To5V8l5B-PgqxQUAq3GY2ujyeWb_XpjOUp5EXr2CtjurBlD5-x6EapfNPXDvVeSJP HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 277
Host: localhost:8080
{"recipeType":"Image","foodName":"name","foodVideoUrl":"youtube","foodInformation":{"content":"text","cookingTime":50,"serving":"1"},"ingredients":[{"ingredientName":"name","amount":"1"}],"cookSteps":[{"stepNumber":1,"timeLine":"timeline","stepImg":"ImgUrl","content":"text"}]}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 506
{
"content" : [ {
"foodId" : 1,
"recipeType" : "Image",
"foodName" : "foodname",
"foodImgUrl" : "ImgURL",
"foodInformationDto" : {
"foodInformationId" : 1,
"content" : "text",
"cookingTime" : 50,
"serving" : "1"
}
} ],
"number" : 0,
"size" : 1,
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
레시피 생성
Request
POST /recipe/create HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=recipeImg; filename=test.png
Content-Type: image/png
test image content
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=data
Content-Type: application/json
{"recipeType":"Image","foodName":"name","foodVideoUrl":"youtube","foodInformation":{"content":"text","cookingTime":50,"serving":"1"},"ingredients":[{"ingredientName":"name","amount":"1"}],"cookSteps":[{"stepNumber":1,"timeLine":"timeline","stepImg":"ImgUrl","content":"text"}]}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=cookStepImgs; filename=test.png
Content-Type: image/png
test image content
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 201,
"message" : "생성 성공"
}
레시피 정보 가져오기
Request
DELETE /recipe/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102
_csrf=nLzMyjOtrVcnHLchcKEKQcXJgwzAEeDOir2KJ1YeQrvrQOfm-Nr-qFKbmmUKLIdASYw-cqH8rjX3dIPjs9i5HzR9IYzSI9WE
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
레시피 업데이트
Request
PATCH /recipe/modify/1 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 44
{"statusCode":200,"message":"요청 성공"}
레시피 삭제하기
Request
DELETE /recipe/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102
_csrf=nLzMyjOtrVcnHLchcKEKQcXJgwzAEeDOir2KJ1YeQrvrQOfm-Nr-qFKbmmUKLIdASYw-cqH8rjX3dIPjs9i5HzR9IYzSI9WE
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
Post API 문서
게시글 생성하기
Request
POST /post/create?_csrf=3RORHyMAERbokqZB3zhJzog0cvC6LsMYyXcp4jnyyNHorJt86yL3KBA0J3DF9MNw6BV9_utSX5KPTPs1qkcQ1g3C-OmKmPhK HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 45
Host: localhost:8080
{
"title" : "title",
"content" : "Text"
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 201,
"message" : "생성 성공"
}
게시글 조회하기
Request
GET /post/detail/1?_csrf=6QA-8XuwS8WJnKPSpy45uawi_6kzM3CneBheu8o0W-Sly1w70DcKxhiJeqSk_sDnxQMN2JgW0pABVhaKTCo72vkGOtOV-GkJ HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 333
{
"postId" : 1,
"title" : "title",
"postState" : "Start",
"nickname" : "nickname",
"userImg" : "img",
"content" : "text",
"latestUpdateTime" : "time",
"commentDtos" : [ {
"nickname" : "nickname",
"userImg" : "ImgUrl",
"content" : "comment text",
"state" : true,
"latestUpdateTime" : "time"
} ]
}
게시글 리스트 확인하기
Request
GET /post/list?page=0&size=10&sort=createdAt%2CDESC&_csrf=9ClVAe9eaVmiSw-fwars9u_XH91ixrnAhD7SSnJGSVf1i-CDlh1gZI04Wj2Pem6poIfYkI2zMr8D8Izt5g-2KRYjKzLNuoTi HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 271
{"content":[{"postId":1,"title":"title","postState":"Start","nickname":"nickname","userImg":"userImg"}],"number":0,"size":10,"totalPages":1,"totalElements":1,"last":true,"sort":{"empty":true,"sorted":false,"unsorted":true},"numberOfElements":1,"first":true,"empty":false}
최근 게시글 리스트 확인하기
Request
GET /post/recent/list?_csrf=f0Y33eS_Tt6vV20kNNlbnt-pVCtKpowrsxUIIWcKZv-Wfk61GX5T6tOId-qCYgwQUPRvqe2ZeUl8xLUGhnc9E1NpUZqlT3iM HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 386
{
"content" : [ {
"postId" : 1,
"title" : "title",
"postState" : "Start",
"nickname" : "nickname",
"userImg" : "userImg"
} ],
"number" : 0,
"size" : 10,
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
게시글 수정하기
Request
PATCH /post/modify/1?_csrf=HBVjBIIhi9YKLid5ihw8CkYwpPauuOqGfeWkr-7HDuW-YbyCJS1WYLQRs-InHxcduTEIOyVSiZfMgdqrHtGWl9nyO4SLV9mw HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 70
Host: localhost:8080
{
"title" : "title",
"content" : "text",
"postState" : "Start"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
게시글 삭제하기
Request
DELETE /post/delete/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102
_csrf=ra8omQ4LvgURXBhfEeZrB-VpcUK9tzcoc1K5qyK0bBRx5WXVmJtOq2ttjWY8byBtIstfZYdZXCOIjwcFSjDazxCGDSNF1AGx
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
Comment API 문서
댓글 생성하기
Request
POST /comment/create/1?_csrf=wBrkAERaRD2MVz9TxMQ5a9E8egn4fadjnGigzVveYlAkKmwD93vdM3w-JlihM11n8OkNUudfVzHKT5NOqlCX-WjpUzEUTw07 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 24
Host: localhost:8080
{
"content" : "text"
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 201,
"message" : "생성 성공"
}
댓글 수정하기
Request
PATCH /comment/modify/1?_csrf=DXsiE-6jgW4OmJJBuxFi6qEJV-NotNL1uj3zuTBM0Ro_pYqqP08bJIjF4l4j-qRwiTxW2pc7eoJQg7bYiAmW2gQv4S1ZnbmZ HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 24
Host: localhost:8080
{
"content" : "text"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
댓글 삭제하기
Request
PATCH /comment/delete/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102
_csrf=gYNmrYoMWNlMSkWRaWqNcPr9RMvFv6Sh1uPOFyRE_-YViK9Is7FSz706ar9hKXOnW0e5QsjMaaqhicKM5dv8JEF1yoQm7p0p
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
Like API 문서
좋아요 누르기
Request
POST /like/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 20
{
"check" : true
}
좋아요 갯수 카운팅
Request
GET /like/count/1?_csrf=oA3WETPV5K4zcPRygxwbWbVKww1e9dkFbBa6dnN9wpRWJE2OkWjlJlLm3cweEsMXsDEvP9F97m8_wbsoWHWJTxAY8PY0ES7t HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 17
{
"count" : 0
}
UserReview API 문서
사용자 리뷰 생성하기
Request
POST /user-review/create/1?_csrf=IOuOtVz428NB77U9xlDnv10tPk_ije9a7vKp13gwcUkcIqPSEY3vgG7A76Vs2ddeoH3TjT4VE3eDtIp33MbP4E8HFSh9Esa3 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 39
Host: localhost:8080
{
"grade" : 0,
"content" : "text"
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 201,
"message" : "생성 성공"
}
사용자 리뷰 조회
Request
GET /user-review/list/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 331
{
"content" : [ {
"nickname" : "nickname",
"grade" : 0,
"content" : "text"
} ],
"number" : 0,
"size" : 1,
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
사용자 리뷰 수정하기
Request
PATCH /user-review/modify/1?_csrf=sHI5eLgo8Xk8PqkAJEVLvN454MaDj0PistWuGMRIN5nltUVMiUoJG94ZxkkRXJ84QWh_jrpazaS2uHbP1OTLL6FxBarXhH0o HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 43
Host: localhost:8080
{
"grade" : 1,
"content" : "new_text"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
사용자 리뷰 삭제하기
Request
DELETE /user-review/delete/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102
_csrf=sDJr0dwG1m1VYpJR5xwFRU7QYS33B9TqOrq3zXIMC2ZPvz3n0lRft-Q17wl4VKJjhDExc3qzTE-UZuLHWYKHqBZpaV4pjF-D
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
RecipeReview API 문서
레시피 리뷰 생성하기
Request
POST /recipe-review/create/1?_csrf=-_hQM7opb68HUZuP5Sch18FFLRIUKo3ejSrpnD9IajJVVtjyz501V9lMXckqZfrrgwoVtPZ2ACp1HrXzvE6L-gx-CARtYLzG HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 39
Host: localhost:8080
{
"grade" : 0,
"content" : "text"
}
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 201,
"message" : "생성 성공"
}
레시피 리뷰 조회
Request
GET /recipe-review/list/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 547
{
"content" : [ {
"nickname" : "nickname",
"grade" : 0,
"content" : "text"
} ],
"pageable" : {
"pageNumber" : 0,
"pageSize" : 1,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"size" : 1,
"number" : 0,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}
레시피 리뷰 수정하기
Request
PATCH /recipe-review/modify/1?_csrf=sP1T_i2fvSVWEuKDGdRBsXoCMjN6hAyqVVKuBHoUQJdmO1kBhJ9rmxuq3EN7JoewKPl11R42H1JO4GqHMGSbZUkjIvQAXWEy HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 43
Host: localhost:8080
{
"grade" : 1,
"content" : "new_text"
}
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 200,
"message" : "요청 성공"
}
레시피 리뷰 삭제하기
Request
DELETE /recipe-review/delete/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102
_csrf=l7Z7rIvy4Xd2VloipFOild-CSDShuUtgxJxyMC34QanS6HDCo9dNyurCh0ZbMDwQkX6W9umxZVWUinNN9K0RVkiac8-2jEGh
Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 55
{
"statusCode" : 204,
"message" : "삭제 성공"
}
Scrap API 문서
스크랩 조회하기
Request
GET /scrap/list HTTP/1.1
Accept: application/json
Host: localhost:8080
Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 560
{
"content" : [ {
"foodId" : 1,
"foodName" : "foodname",
"foodImgUrl" : "foodImage"
} ],
"pageable" : {
"pageNumber" : 0,
"pageSize" : 10,
"sort" : {
"empty" : false,
"sorted" : true,
"unsorted" : false
},
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"totalPages" : 1,
"totalElements" : 1,
"last" : true,
"size" : 10,
"number" : 0,
"sort" : {
"empty" : false,
"sorted" : true,
"unsorted" : false
},
"numberOfElements" : 1,
"first" : true,
"empty" : false
}