회원
로그인
HTTP 요청
POST /api/v0/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 50
Host: localhost:8080
{"email":"guest@gmail.com","password":"guestPw12"}
로그인 파라미터
| Path | Type | Description |
|---|---|---|
|
|
사용자 이메일 |
|
|
사용자 비밀번호 |
HTTP 응답
HTTP/1.1 200 OK
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTczMDQxNjgsImV4cCI6MTY1NzMwNzc2OH0.kleL-cpLonbVUJSr78JVh3iqw4vtMSas0G7t1UTX8tY
Content-Type: text/plain;charset=UTF-8
Content-Length: 14
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Login succeed.
전체 회원 조회
HTTP 요청
GET /api/v0/user HTTP/1.1
Host: docs.api.com
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 135
{
"nickname" : "guest",
"gender" : "FEMALE",
"personalUrl" : null,
"birth" : null,
"image" : null,
"introductions" : null
}
| Path | Type | Description |
|---|---|---|
|
|
유저 닉네임 |
|
|
유저 성별 |
|
|
유저의 개인 URL |
|
|
유저 생년월일 |
|
|
유저 이미지 |
|
|
유저 소개글 |
회원가입
HTTP 요청
POST /api/v0/signup HTTP/1.1
Content-Type: application/json
Content-Length: 87
Host: docs.api.com
{
"nickname" : "testUser",
"email" : "test@gmail.com",
"password" : "guestPw12"
}
회원가입 파라미터
| Path | Type | Description |
|---|---|---|
|
|
가입할 유저의 닉네임 |
|
|
가입할 유저의 이메일 |
|
|
가입할 유저의 비밀번호 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 19
User Create Success
회원정보 수정
HTTP 요청
POST /api/v0/user HTTP/1.1
Content-Type: multipart/form-data; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
Content-Type: application/json
{"nickname":"guest","gender":"FEMALE","personalUrl":"http://github.com","birth":null,"introductions":"--"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=test.png
Content-Type: image/png
<<png data>>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
회원정보 수정
| Part | Description |
|---|---|
|
회원정보 수정 |
|
수정할 회원 이미지 |
| Path | Type | Description |
|---|---|---|
|
|
유저 닉네임 |
|
|
유저 성별 |
|
|
유저 개인 페이지 |
|
|
유저 생년월일 |
|
|
유저 자기소개글 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 19
User Create Success
유저 언팔로잉
HTTP 요청
DELETE /api/v0/user/1/follow HTTP/1.1
Host: docs.api.com
유저 언팔로잉 파라미터
| Parameter | Description |
|---|---|
|
언팔로우할 유저의 아이디 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 21
User Unfollow Success
게시글 팔로잉
HTTP 요청
GET /api/v0/feed?page=0&size=10 HTTP/1.1
Host: localhost:8080
게시글 팔로잉 파라미터
| Parameter | Description |
|---|---|
|
조회할 피드 페이지 번호 |
|
한 페이지당 조회할 게시글 개수 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 543
{
"contents" : [ {
"postId" : 1,
"category" : "HousewarmingPost",
"authorId" : 10,
"authorNickname" : "following1",
"title" : "number1Post",
"content" : "number1Content{}{}",
"visitCount" : 20,
"images" : null
}, {
"postId" : 10,
"category" : "HousewarmingPost",
"authorId" : 10,
"authorNickname" : "following1",
"title" : "number2Post",
"content" : "postspotstjdfjsdj???",
"visitCount" : 1000,
"images" : null
} ],
"size" : 10,
"hasNext" : false,
"lastPage" : true
}
| Path | Type | Description |
|---|---|---|
|
|
게시글 ID |
|
|
게시글 카테고리 |
|
|
게시글 작성자 ID |
|
|
게시글 작성자 닉네임 |
|
|
게시글 제목 |
|
|
게시글 내용 |
|
|
게시글 조회수 |
|
|
게시글에 첨부된 이미지 |
|
|
페이지 사이즈 |
|
|
다음 페이지의 존재 여부 |
|
|
마지막 페이지 여부 |
집들이 게시글
집들이 게시글 생성
HTTP 요청
POST /api/v0/hwpost HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: docs.api.com
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=payload
Content-Type: application/json
{"constructionFee":200,"housingTypeCode":"PRIVATE_ROOM","familyType":"SINGLE","area":2,"workerType":"SELF","stylingFee":200,"content":"content{{image}}content1{{image}}","title":"baka"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=fav.png
Content-Type: image/png
chunk1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=fav2.png
Content-Type: image/png
chunk2
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
집들이 게시글 생성 파라미터
| Part | Description |
|---|---|
|
집들이 컨텐츠 이미지 |
|
생성 집들이 정보 |
| Path | Type | Description |
|---|---|---|
|
|
집들이 제목 |
|
|
집들이 내용 |
|
|
주거 형태 |
|
|
주거 형태 상세 정보 |
|
|
가족 형태 |
|
|
작업자 |
|
|
홈스타일링 예산 |
|
|
공사/시공 예산 |
|
|
평수 |
|
|
가족 상세 정보 |
|
|
가족 수 |
|
|
시공/스타일링 업체 정보 |
|
|
공사 기간 |
|
|
공사 기간 단위 |
|
|
시공 대상 |
|
|
시공업체 상세 정보 |
|
|
저작권 표기 |
|
|
연관 링크 |
|
|
지역 코드 |
|
|
지역 상세 정보 |
HTTP 응답
HTTP/1.1 201 Created
Location: http://localhost:8080/api/v0/hwpost/38
Content-Type: text/plain;charset=UTF-8
Content-Length: 21
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
post creation success
집들이 게시글 단건 조회
HTTP 요청
GET /api/v0/hwpost/39 HTTP/1.1
Host: docs.api.com
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 643
{
"postId" : 39,
"userId" : 11,
"userNickname" : "guest",
"title" : "제목2",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 1,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}
| Path | Type | Description |
|---|---|---|
|
|
게시물 ID |
|
|
작성자 ID |
|
|
작성자 이름 |
|
|
집들이 제목 |
|
|
집들이 내용 |
|
|
주거 형태 |
|
|
주거 형태 상세 정보 |
|
|
조회수 |
|
|
스크랩 회수 |
|
|
가족 형태 |
|
|
가족 상세 정보 |
|
|
가족 수 |
|
|
홈스타일링 예산 |
|
|
공사/시공 예산 |
|
|
총예산 |
|
|
평수 |
|
|
시공/스타일링 업체 정보 |
|
|
작업자 |
|
|
공사 기간 |
|
|
공사 기간 단위 |
|
|
시공 대상 |
|
|
시공업체 상세 정보 |
|
|
저작권 표기 |
|
|
연관 링크 |
|
|
지역 코드 |
|
|
지역 상세 정보 |
|
|
포함 이미지 상세 정보 |
집들이 게시글 페이징 조회
HTTP 요청
GET /api/v0/hwpost?page=0&size=19 HTTP/1.1
Host: docs.api.com
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 13484
{
"contents" : [ {
"postId" : 60,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목20",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 59,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목19",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 58,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목18",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 57,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목17",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 56,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목16",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 55,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목15",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 54,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목14",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 53,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목13",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 52,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목12",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 51,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목11",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 50,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목10",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 49,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목9",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 48,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목8",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 47,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목7",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 46,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목6",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 45,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목5",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 44,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목4",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 43,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목3",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
}, {
"postId" : 42,
"userId" : 13,
"userNickname" : "guest",
"title" : "제목2",
"content" : "내용1{{image}}내용2{{image}}내용3{{image}}",
"visitCount" : 0,
"scrapCount" : 0,
"housingType" : "apartment",
"housingDescription" : null,
"area" : 2,
"budget" : {
"constructionFee" : 100,
"stylingFee" : 150,
"total" : 250
},
"family" : {
"type" : "SINGLE",
"description" : null,
"familyCount" : null
},
"company" : null,
"workMetadata" : {
"duration" : null,
"unit" : null,
"workTarget" : null,
"workerType" : "SELF",
"workerDescription" : null
},
"images" : [ ]
} ],
"size" : 19,
"hasNext" : true,
"lastPage" : false
}
| Path | Type | Description |
|---|---|---|
|
|
게시물 ID |
|
|
작성자 ID |
|
|
작성자 이름 |
|
|
집들이 제목 |
|
|
집들이 내용 |
|
|
주거 형태 |
|
|
주거 형태 상세 정보 |
|
|
조회수 |
|
|
스크랩 회수 |
|
|
가족 형태 |
|
|
가족 상세 정보 |
|
|
가족 수 |
|
|
홈스타일링 예산 |
|
|
공사/시공 예산 |
|
|
총예산 |
|
|
평수 |
|
|
시공/스타일링 업체 정보 |
|
|
작업자 |
|
|
공사 기간 |
|
|
공사 기간 단위 |
|
|
시공 대상 |
|
|
시공업체 상세 정보 |
|
|
저작권 표기 |
|
|
연관 링크 |
|
|
지역 코드 |
|
|
지역 상세 정보 |
|
|
포함 이미지 상세 정보 |
|
|
페이지 사이즈 |
|
|
페이지 이후 게시물 존재 여부 |
|
|
마지막 페이지 여부 |
집들이 게시글 수정
HTTP 요청
POST /api/v0/hwpost/37 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: docs.api.com
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=payload
Content-Type: application/json
{"constructionFee":200,"housingTypeCode":"PRIVATE_ROOM","familyType":"SINGLE","area":2,"workerType":"SELF","stylingFee":200,"content":"updated content{{image}}content1{{image}}content2{{image}}","title":"updated"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=fav.png
Content-Type: image/png
chunk1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=fav2.png
Content-Type: image/png
chunk2
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=fav3.png
Content-Type: image/png
chunk3
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
| Part | Description |
|---|---|
|
집들이 컨텐츠 이미지 |
|
수정 집들이 정보 |
| Path | Type | Description |
|---|---|---|
|
|
집들이 제목 |
|
|
집들이 내용 |
|
|
주거 형태 |
|
|
주거 형태 상세 정보 |
|
|
가족 형태 |
|
|
작업자 |
|
|
홈스타일링 예산 |
|
|
공사/시공 예산 |
|
|
평수 |
|
|
가족 상세 정보 |
|
|
가족 수 |
|
|
시공/스타일링 업체 정보 |
|
|
공사 기간 |
|
|
공사 기간 단위 |
|
|
시공 대상 |
|
|
시공업체 상세 정보 |
|
|
저작권 표기 |
|
|
연관 링크 |
|
|
지역 코드 |
|
|
지역 상세 정보 |
HTTP 응답
HTTP/1.1 201 Created
Location: http://localhost:8080/api/v0/hwpost/37
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
집들이 게시글 삭제
HTTP 요청
DELETE /api/v0/hwpost/40 HTTP/1.1
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: docs.api.com
HTTP 응답(성공)
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Content-Length: 14
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
delete success
HTTP 응답(실패)
HTTP/1.1 401 Unauthorized
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 56
{
"code" : 401,
"message" : "Unauthorized Request"
}
집들이 게시글 댓글
집들이 게시글 댓글 생성
HTTP 요청
POST /api/v0/hwpost/comment HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Content-Length: 43
Host: docs.api.com
{
"comment" : "댓글1",
"postId" : 4
}
집들이 게시글 댓글 생성 파라미터
include::/Users/mj/workspace/JavaCode/kms/ohouse/build/generated-snippets/hwpost-comment-create/request-fields.adoc
HTTP 응답
HTTP/1.1 201 Created
Location: http://localhost:8080/api/v0/hwpost/comment/5
Content-Type: text/plain;charset=UTF-8
Content-Length: 14
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
create success
집들이 게시글 댓글 조회
HTTP 요청
GET /api/v0/hwpost/6/comment?size=20&page=0 HTTP/1.1
Host: docs.api.com
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2618
{
"contents" : [ {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 36,
"comment" : "comment29"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 35,
"comment" : "comment28"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 34,
"comment" : "comment27"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 33,
"comment" : "comment26"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 32,
"comment" : "comment25"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 31,
"comment" : "comment24"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 30,
"comment" : "comment23"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 29,
"comment" : "comment22"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 28,
"comment" : "comment21"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 27,
"comment" : "comment20"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 26,
"comment" : "comment19"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 25,
"comment" : "comment18"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 24,
"comment" : "comment17"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 23,
"comment" : "comment16"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 22,
"comment" : "comment15"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 21,
"comment" : "comment14"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 20,
"comment" : "comment13"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 19,
"comment" : "comment12"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 18,
"comment" : "comment11"
}, {
"postId" : 6,
"authorId" : 8,
"authorName" : "comAuthor",
"commentId" : 17,
"comment" : "comment10"
} ],
"size" : 20,
"hasNext" : true,
"lastPage" : false
}
| Path | Type | Description |
|---|---|---|
|
|
집들이 게시물 ID |
|
|
댓글 작성자 ID |
|
|
댓글 ID |
|
|
댓글 내용 |
|
|
작성자 닉네임 |
|
|
페이지 사이즈 |
|
|
페이지 이후 댓글 존재 여부 |
|
|
마지막 페이지 여부 |
집들이 게시글 댓글 수정
HTTP 요청
PUT /api/v0/hwpost/comment HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Content-Length: 46
Host: docs.api.com
{
"comment" : "updated",
"commentId" : 2
}
집들이 게시글 댓글 수정 파라미터
include::/Users/mj/workspace/JavaCode/kms/ohouse/build/generated-snippets/hwpost-comment-update/request-fields.adoc
HTTP 응답
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Content-Length: 14
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
update success
집들이 게시글 댓글 삭제
HTTP 요청
DELETE /api/v0/hwpost/comment/62 HTTP/1.1
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: docs.api.com
집들이 게시글 댓글 삭제 파라미터
| Parameter | Description |
|---|---|
|
삭제 대상 집들이 댓글 ID |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Content-Length: 14
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
delete success
질문 게시글
질문 게시글 생성
HTTP 요청
POST /api/v0/questions HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
Content-Type: application/json
{"title":"제목","content":"내용"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=fav1.png
Content-Type: image/png
someImage
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=fav2.png
Content-Type: image/png
otherImage
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
질문게시글 생성 파라미터
| Path | Type | Description |
|---|---|---|
|
|
글 제목 |
|
|
글 내용 |
HTTP 응답
HTTP/1.1 201 Created
Location: /api/v0/questions/10
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
질문 게시글 수정
HTTP 요청
POST /api/v0/questions/9 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
Content-Type: application/json
{"title":"수정된 제목","content":"수정된 내용"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=fav1.png
Content-Type: image/png
someImage
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=fav2.png
Content-Type: image/png
otherImage
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
질문게시글 수정 파라미터
| Path | Type | Description |
|---|---|---|
|
|
수정할 제목 |
|
|
수정할 내용 |
HTTP 응답
HTTP/1.1 201 Created
Location: /api/v0/questions/10
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
질문 게시글 댓글
질문 게시글 댓글 생성
HTTP 요청
POST /api/v0/questions/13/comments HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
Content-Type: application/json
{"content":"댓글 내용"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=fav1.png
Content-Type: image/png
someImage
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
질문 게시글 댓글 생성 파라미터
| Path | Type | Description |
|---|---|---|
|
|
댓글 내용 |
HTTP 응답
HTTP/1.1 201 Created
Location: /api/v0/questions/13/14
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
질문 게시글 댓글 수정
HTTP 요청
POST /api/v0/questions/11/12 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
Content-Type: application/json
{"content":"수정된 댓글 내용"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=fav1.png
Content-Type: image/png
someImage
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
질문 게시글 댓글 수정 파라미터
| Path | Type | Description |
|---|---|---|
|
|
수정할 댓글 내용 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 15
"/api/v0/11/12"
주문
주문 생성
HTTP 요청
POST /api/v0/order HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Accept: application/json
Content-Length: 376
Host: docs.api.com
{
"shippingAddress" : "shippingAddress",
"recipient" : "recipient",
"city" : "city",
"street" : "street",
"detail" : "detail",
"zipcode" : "zipcode",
"lotNumberAddress" : "lotNumberAddress",
"shipper" : "shipper",
"email" : "email",
"orderItemAddRequests" : [ {
"productId" : 2,
"quantity" : 1
}, {
"productId" : 3,
"quantity" : 2
} ]
}
주문 생성 파라미터
| Path | Type | Description |
|---|---|---|
|
|
배송인 명 |
|
|
배송지 명 |
|
|
수령인 |
|
|
배송지 도시 |
|
|
배송지 지번 |
|
|
상세 주소 |
|
|
우편번호 |
|
|
지번 |
|
|
이메일 |
|
|
주문 상품 상품 아이디 |
|
|
주문 상품 상품 개수 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 19
{
"orderId" : 1
}
| Path | Type | Description |
|---|---|---|
|
|
등록 오더 아이디 |
주문 조회
HTTP 요청
GET /api/v0/order HTTP/1.1
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Accept: application/json
Host: docs.api.com
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 720
[ {
"orderId" : 1,
"createdAt" : "2022-07-09T03:15:56.160476",
"orderViewOrderItemResults" : [ {
"productName" : "productName1",
"productPrice" : 1000,
"quantity" : 2,
"deliveryType" : "DEPOSIT_WAIT"
}, {
"productName" : "productName2",
"productPrice" : 2000,
"quantity" : 3,
"deliveryType" : "PAYMENT_COMPLETE"
} ]
}, {
"orderId" : 2,
"createdAt" : "2022-07-09T03:15:56.160788",
"orderViewOrderItemResults" : [ {
"productName" : "productName3",
"productPrice" : 1000,
"quantity" : 2,
"deliveryType" : "DEPOSIT_WAIT"
}, {
"productName" : "productName4",
"productPrice" : 2000,
"quantity" : 3,
"deliveryType" : "PAYMENT_COMPLETE"
} ]
} ]
| Path | Type | Description |
|---|---|---|
|
|
등록 주문 아이디 |
|
|
주문 등록 시간 |
|
|
주문 상품 이름 |
|
|
주문 상품 가격 |
|
|
주문 상품 수량 |
|
|
주문 배송 현황 |
장바구니
장바구니 생성
HTTP 요청
POST /api/v0/cart HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Accept: application/json
Content-Length: 40
Host: docs.api.com
{
"productId" : 1,
"itemCount" : 1
}
장바구니 생성 파라미터
| Path | Type | Description |
|---|---|---|
|
|
장바구니에 담을 상품 넘버 |
|
|
상품 개수 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 20
{
"cartSize" : 1
}
| Path | Type | Description |
|---|---|---|
|
|
장바구니에 담긴 상품 개수 |
상품
상품 조회
HTTP 요청
GET /api/v0/products?attribute=asd HTTP/1.1
Accept: application/json
Host: docs.api.com
상품 조회 파라미터
| Parameter | Description |
|---|---|
|
속성 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 186
{
"contents" : [ {
"name" : "이름입니다.",
"price" : 234,
"shipping" : "NORMAL",
"brand" : "brand"
} ],
"size" : 20,
"hasNext" : false,
"lastPage" : true
}
| Path | Type | Description |
|---|---|---|
|
|
상품 이름 |
|
|
상품 가격 |
|
|
상품 배송 종류 |
|
|
브랜드 이름 |
|
|
페이지 사이즈 |
|
|
다음 페이지가 있는지 확인 |
|
|
마지막 페이지인지 확인 |
상품 리뷰
상품 리뷰 생성
HTTP 요청
POST /api/v0/reviews HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
{"productId":4,"userId":4,"reviewPoint":3,"contents":"후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
요청 헤더
| Name | Description |
|---|---|
|
JWT 토큰 |
상품 리뷰 생성 파라미터
| Path | Type | Description |
|---|---|---|
|
|
회원 번호 |
|
|
상품 번호 |
|
|
리뷰 점수 |
|
|
리뷰 내용 |
HTTP 응답
HTTP/1.1 201 Created
Location: http://localhost:8080/api/v0/reviews/82
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 62
{
"message" : "new review created successful",
"id" : 82
}
| Path | Type | Description |
|---|---|---|
|
|
생성된 리뷰 번호 |
|
|
완료 메세지 |
상품 사진 리뷰 생성
HTTP 요청
POST /api/v0/reviews HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
{"productId":3,"userId":3,"reviewPoint":3,"contents":"후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기 후기"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=review-image; filename=test.png
Content-Type: image/png
<<png data>>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
요청 헤더
| Name | Description |
|---|---|
|
JWT 토큰 |
사진 리뷰 생성 Part
| Part | Description |
|---|---|
|
리뷰 이미지 파일 |
|
생성할 리뷰 정보 |
사진 리뷰 생성 파라미터
| Path | Type | Description |
|---|---|---|
|
|
회원 번호 |
|
|
상품 번호 |
|
|
리뷰 점수 |
|
|
리뷰 내용 |
HTTP 응답
HTTP/1.1 201 Created
Location: http://localhost:8080/api/v0/reviews/81
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 62
{
"message" : "new review created successful",
"id" : 81
}
| Path | Type | Description |
|---|---|---|
|
|
생성된 리뷰 아이디 |
|
|
완료 메세지 |
상품 리뷰 조회
HTTP 요청
GET /api/v0/reviews/2?page=0&size=10&sort=createdAt%2Cdesc HTTP/1.1
Host: localhost:8080
상품 리뷰 조회 파라미터
| Parameter | Description |
|---|---|
|
조회할 페이지 번호 |
|
페이지 당 리뷰 개수 |
|
정렬 기준 1.'createdAt,desc' 2.'helpPoint',desc |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2577
{
"pageInformation" : {
"pageNumber" : 0,
"pageSize" : 10,
"totalPages" : 4,
"numberOfElements" : 10,
"totalElements" : 40
},
"reviews" : [ {
"id" : 80,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "39content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.00231"
}, {
"id" : 79,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "38content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.002136"
}, {
"id" : 78,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "37content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.001953"
}, {
"id" : 77,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "36content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.001743"
}, {
"id" : 76,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "35content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.001572"
}, {
"id" : 75,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "34content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.001401"
}, {
"id" : 74,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "33content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.001209"
}, {
"id" : 73,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "32content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.001033"
}, {
"id" : 72,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "31content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.000873"
}, {
"id" : 71,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "30content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:06.000696"
} ]
}
| Path | Type | Description |
|---|---|---|
|
|
리뷰 |
|
|
리뷰 id |
|
|
작성자 |
|
|
작성자 닉네임 |
|
|
리뷰 점수 |
|
|
리뷰 내용 |
|
|
도움 점수 |
|
|
작성 날짜 |
|
|
페이지 정보 |
|
|
현재 페이지 번호 |
|
|
페이지에 포함된 최대 리뷰 개수 |
|
|
총 페이지 개수 |
|
|
현재 페이지에 포함된 리뷰 개수 |
|
|
총 리뷰 개수 |
상품 사진 리뷰 조회
HTTP 요청
GET /api/v0/reviews/1?page=0&size=10&sort=createdAt%2Cdesc&reviewType=PHOTO HTTP/1.1
Host: localhost:8080
상품 사진 리뷰 조회 파라미터
| Parameter | Description |
|---|---|
|
조회할 리뷰 종류 NORMAL, PHOTO |
|
조회할 리뷰 페이지 번호 |
|
페이지 당 리뷰 개수 |
|
정렬 기준 1.'createdAt,desc' 2.'helpPoint',desc |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3105
{
"pageInformation" : {
"pageNumber" : 0,
"pageSize" : 10,
"totalPages" : 4,
"numberOfElements" : 10,
"totalElements" : 40
},
"reviews" : [ {
"id" : 40,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "39content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.897999",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 39,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "38content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.897807",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 38,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "37content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.897595",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 37,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "36content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.897271",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 36,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "35content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.897087",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 35,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "34content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.89689",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 34,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "33content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.8967",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 33,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "32content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.896423",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 32,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "31content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.896223",
"reviewImageUrl" : "src/test/resources/static/"
}, {
"id" : 31,
"user" : {
"username" : "test@email.com"
},
"reviewPoint" : 4,
"contents" : "30content content content content content content",
"helpPoint" : 0,
"createdAt" : "2022-07-09T03:16:05.896021",
"reviewImageUrl" : "src/test/resources/static/"
} ]
}
| Path | Type | Description |
|---|---|---|
|
|
리뷰 |
|
|
리뷰 id |
|
|
작성자 |
|
|
작성자 닉네임 |
|
|
리뷰 점수 |
|
|
리뷰 사진 경로 |
|
|
리뷰 내용 |
|
|
도움 점수 |
|
|
작성 날짜 |
|
|
페이지 정보 |
|
|
현재 페이지 번호 |
|
|
페이지에 포함된 최대 리뷰 개수 |
|
|
총 페이지 개수 |
|
|
현재 페이지에 포함된 리뷰 개수 |
|
|
총 리뷰 개수 |
상품 리뷰 수정
HTTP 요청
POST /api/v0/reviews/84 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
{"id":84,"reviewPoint":5,"contents":"reviewupdate reviewupdate reviewupdate reviewupdate reviewupdate"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
요청 헤더
| Name | Description |
|---|---|
|
JWT 토큰 |
상품 리뷰 수정 파트
| Part | Description |
|---|---|
|
수정할 이미지 파일 |
|
수정할 리뷰 정보 |
상품 리뷰 수정 파라미터
| Path | Type | Description |
|---|---|---|
|
|
수정할 리뷰 id |
|
|
리뷰 점수 |
|
|
리뷰 내용 |
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 59
{
"message" : "review modified successful",
"id" : 84
}
| Path | Type | Description |
|---|---|---|
|
|
수정된 리뷰 아이디 |
|
|
작업 결과 메세지 |
상품 리뷰 삭제
HTTP 요청
DELETE /api/v0/reviews/83 HTTP/1.1
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJndWVzdEBnbWFpbC5jb20iLCJyb2xlcyI6W3siYXV0aG9yaXR5IjoiUk9MRV9VU0VSIn1dLCJpYXQiOjE2NTYzMTU3NDQsImV4cCI6MTY1ODA0Mzc0NH0.SN55dE55PSha8BpAFP_J6zd113Tnnk2eDF1Ni2Gd53U
Host: localhost:8080
HTTP 응답
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 58
{
"message" : "review deleted successful",
"id" : 83
}
| Path | Type | Description |
|---|---|---|
|
|
작업 결과 |
|
|
삭제된 리뷰 id |