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
}