유저 API
카카오 로그인
Request
Request HTTP Example
POST /oauth2/authorization/kakao HTTP/1.1
Host: 54.180.129.133
Response
카카오 로그인 창
Response HTTP Example
HTTP/1.1 302 Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: test?response_type=code&client_id=test&scope=test&state=loqfOVlZPJci_ZMQUsu1O9k3CGvHvHjtS0ifdPROfiM%3D&redirect_uri=test
로그인 완료 시 토큰 응답
정보 조회
Request
Request HTTP Example
GET /me HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk4LCJleHAiOjE2NTcxOTQyOTh9.volHJW8gPAGejP90j64Fe1SJY8dyZD5CZ1AvXCtDH2o
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
이름 |
|
|
|
이메일 |
|
|
|
프로필 이미지 |
|
|
|
회원 권한 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 137
{
"data" : {
"name" : "test",
"email" : "test@gmail.com",
"profileImageUrl" : "url",
"role" : "ROLE_GUEST"
}
}
탈퇴
Request
Request HTTP Example
DELETE /me HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk4LCJleHAiOjE2NTcxOTQyOTh9.volHJW8gPAGejP90j64Fe1SJY8dyZD5CZ1AvXCtDH2o
Host: 54.180.129.133
Response
Response HTTP Example
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
토큰 API
access 토큰 재발급
Request
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
refresh Token |
Request HTTP Example
POST /tokens HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk3LCJleHAiOjE2NTcxOTQyOTd9.SEu2n6VvEzCIaWntOFiUjVA7XBYk4sA3DheSlYgY6VY
Content-Length: 199
Host: 54.180.129.133
{
"refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkZTUwNmQ5OS1kZTMyLTQzYzAtOWJhOS05NTc1ZTFiMzA2ZDgiLCJpYXQiOjE2NTcxOTA2OTcsImV4cCI6MTY1NzE5NDI5N30.1tW4CioZaB3wuWTkw8A97IN1xvEwsDGemCIPSeSmC7o"
}
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
access Token |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 200
{
"data" : {
"accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk3LCJleHAiOjE2NTcxOTQyOTd9.SEu2n6VvEzCIaWntOFiUjVA7XBYk4sA3DheSlYgY6VY"
}
}
refresh 토큰 삭제 (로그아웃)
Request
Request HTTP Example
DELETE /tokens HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk3LCJleHAiOjE2NTcxOTQyOTd9.SEu2n6VvEzCIaWntOFiUjVA7XBYk4sA3DheSlYgY6VY
Host: 54.180.129.133
Response
Response HTTP Example
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
예약 게스트 API
예약 생성
Request
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
숙소 아이디 |
Request HTTP Example
POST /reservations HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjgyLCJleHAiOjE2NTcxOTQyODJ9.oU86a0bjh65Q6yEEodPJC45ZqoQgRaLdQ5q3-etj_oM
Content-Length: 126
Host: 54.180.129.133
{
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-10",
"totalGuest" : 1,
"totalPrice" : 300000,
"roomId" : 1
}
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
숙소 우편번호 |
|
|
|
숙소 주소 |
|
|
|
숙소 상세주소 |
|
|
|
호스트 아이디 |
|
|
|
호스트 이름 |
|
|
|
호스트 이메일 |
Response HTTP Example
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://localhost:8080/reservations/1
Content-Type: application/json;charset=UTF-8
Content-Length: 538
{
"data" : {
"reservation" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-10",
"totalGuest" : 1,
"totalPrice" : 300000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "별빛밤",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"host" : {
"id" : 1,
"name" : "host",
"email" : "host@gmail.com"
}
}
}
예약 불가능 날짜 조회
Request
Request Parameters
파라미터 | 필수값 | 설명 |
---|---|---|
|
true |
조회 시작 날짜 |
|
true |
조회 끝 날짜 |
Request HTTP Example
GET /rooms/1/reservations-date?startDate=2022-07-07&endDate=2022-08-07 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjgzLCJleHAiOjE2NTcxOTQyODN9.IWx4Nc7mT0LlkmTEI8LPedukfci7KfdHrf0h4hwkCFI
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
yyyy-MM-dd |
예약 체크인 날짜 |
|
|
yyyy-MM-dd |
예약 체크아웃 날짜 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 89
{
"data" : [ {
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-09"
} ]
}
예약 단건 조회
Request
End Point
/guest/reservations/{reservationId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
예약 아이디 |
Request HTTP Example
GET /guest/reservations/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjg0LCJleHAiOjE2NTcxOTQyODR9.HFwdztV6260uFyOGKJy5_bMGcgYZqKaHmXZdP-naeN8
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
숙소 우편번호 |
|
|
|
숙소 주소 |
|
|
|
숙소 상세주소 |
|
|
|
호스트 아이디 |
|
|
|
호스트 이름 |
|
|
|
호스트 이메일 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 538
{
"data" : {
"reservation" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-10",
"totalGuest" : 3,
"totalPrice" : 300000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "별빛밤",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"host" : {
"id" : 1,
"name" : "host",
"email" : "host@gmail.com"
}
}
}
예약 다건 조회
Request
Request Parameters
파라미터 | 필수값 | 설명 |
---|---|---|
|
true |
페이지 사이즈 |
|
예약 상태 |
|
|
마지막 예약 아이디 |
Request HTTP Example
GET /guest/reservations?pageSize=2&status=PENDING HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjgyLCJleHAiOjE2NTcxOTQyODJ9.oU86a0bjh65Q6yEEodPJC45ZqoQgRaLdQ5q3-etj_oM
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
숙소 우편번호 |
|
|
|
숙소 주소 |
|
|
|
숙소 상세주소 |
|
|
|
호스트 아이디 |
|
|
|
호스트 이름 |
|
|
|
호스트 이메일 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 1055
{
"data" : [ {
"reservation" : {
"id" : 2,
"checkIn" : "2022-07-08",
"checkOut" : "2022-07-09",
"totalGuest" : 1,
"totalPrice" : 100000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "host",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"host" : {
"id" : 2,
"name" : "host",
"email" : "host@gmail.com"
}
}, {
"reservation" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-08",
"totalGuest" : 1,
"totalPrice" : 100000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "host",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"host" : {
"id" : 1,
"name" : "host",
"email" : "host@gmail.com"
}
} ]
}
예약 수정
Request
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
체크아웃 날짜 |
|
|
|
총 인원수 |
|
|
|
추가 가격 |
Request HTTP Example
PUT /reservations/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjgxLCJleHAiOjE2NTcxOTQyODF9.a9AlvZ1Auc_bLpxPCuJs8ffuRatFmp-pe3tO3HNzHUk
Content-Length: 82
Host: 54.180.129.133
{
"checkOut" : "2022-07-12",
"totalGuest" : 5,
"paymentPrice" : 200000
}
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
숙소 우편번호 |
|
|
|
숙소 주소 |
|
|
|
숙소 상세주소 |
|
|
|
호스트 아이디 |
|
|
|
호스트 이름 |
|
|
|
호스트 이메일 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 538
{
"data" : {
"reservation" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-12",
"totalGuest" : 5,
"totalPrice" : 500000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "별빛밤",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"host" : {
"id" : 1,
"name" : "host",
"email" : "host@gmail.com"
}
}
}
예약 취소
Request
End Point
/guest/reservations/{reservationId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
예약 아이디 |
Request HTTP Example
DELETE /guest/reservations/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjIsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjgyLCJleHAiOjE2NTcxOTQyODJ9.oU86a0bjh65Q6yEEodPJC45ZqoQgRaLdQ5q3-etj_oM
Host: 54.180.129.133
Response
Response HTTP Example
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
예약 호스트 API
예약 단건 조회
Request
End Point
/host/reservations/{reservationId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
예약 아이디 |
Request HTTP Example
GET /host/reservations/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjg1LCJleHAiOjE2NTcxOTQyODV9.00X0VpQwprGIY8-91ARt2Or7whVfzwsrIRQSC7c087g
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
숙소 우편번호 |
|
|
|
숙소 주소 |
|
|
|
숙소 상세주소 |
|
|
|
게스트 아이디 |
|
|
|
게스트 이름 |
|
|
|
게스트 이메일 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 541
{
"data" : {
"reservation" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-10",
"totalGuest" : 3,
"totalPrice" : 300000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "별빛밤",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"guest" : {
"id" : 2,
"name" : "guest",
"email" : "guest@gmail.com"
}
}
}
예약 다건 조회
Request
Request Parameters
파라미터 | 필수값 | 설명 |
---|---|---|
|
true |
페이지 사이즈 |
|
예약 상태 |
|
|
마지막 예약 아이디 |
Request HTTP Example
GET /host/reservations?pageSize=2&status=PENDING HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjg0LCJleHAiOjE2NTcxOTQyODR9.uCdm_g0-gtsw2QmDck6kcVaJPYJ7xIqnecvKrZ2EVkE
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
숙소 우편번호 |
|
|
|
숙소 주소 |
|
|
|
숙소 상세주소 |
|
|
|
게스트 아이디 |
|
|
|
게스트 이름 |
|
|
|
게스트 이메일 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 1063
{
"data" : [ {
"reservation" : {
"id" : 2,
"checkIn" : "2022-07-08",
"checkOut" : "2022-07-09",
"totalGuest" : 1,
"totalPrice" : 100000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "guest",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"guest" : {
"id" : 2,
"name" : "guest",
"email" : "guest@gmail.com"
}
}, {
"reservation" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-08",
"totalGuest" : 1,
"totalPrice" : 100000,
"reservationStatus" : "PENDING"
},
"room" : {
"roomId" : 1,
"name" : "guest",
"roomAddress" : {
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구"
}
},
"guest" : {
"id" : 1,
"name" : "guest",
"email" : "guest@gmail.com"
}
} ]
}
예약 승인
Request
End Point
/host/reservations/{reservationId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
예약 아이디 |
Request HTTP Example
PUT /host/reservations/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjg1LCJleHAiOjE2NTcxOTQyODV9.00X0VpQwprGIY8-91ARt2Or7whVfzwsrIRQSC7c087g
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
예약 아이디 |
|
|
|
yyyy-MM-dd |
체크인 날짜 |
|
|
yyyy-MM-dd |
체크아웃 날짜 |
|
|
총 인원수 |
|
|
|
총 가격 |
|
|
|
예약 상태 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 190
{
"data" : {
"id" : 1,
"checkIn" : "2022-07-07",
"checkOut" : "2022-07-10",
"totalGuest" : 3,
"totalPrice" : 300000,
"reservationStatus" : "APPROVED"
}
}
예약 취소
Request
End Point
/host/reservations/{reservationId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
예약 아이디 |
Request HTTP Example
DELETE /host/reservations/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjg0LCJleHAiOjE2NTcxOTQyODR9.uCdm_g0-gtsw2QmDck6kcVaJPYJ7xIqnecvKrZ2EVkE
Host: 54.180.129.133
Response
Response HTTP Example
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
숙소 API
공통
모든 숙소 조회는 로그인 없이 가능하다.
숙소 필터 검색
Request
Request Parameters
파라미터 | 필수값 | 설명 |
---|---|---|
|
최수 침대 수 |
|
|
최수 침실 수 |
|
|
최소 욕실 수 |
|
|
최소 1박 가격 |
|
|
최대 1박 가격 |
|
|
숙소 유형 |
|
|
숙소 범위 |
|
|
true |
페이지 사이즈 |
|
true |
페이지 번호 |
Request HTTP Example
GET /rooms?minBeds=1&minBedrooms=1&minBathrooms=1&minPrice=1&maxPrice=10000000&roomTypes=APARTMENT&roomScopes=PRIVATE&size=10&page=1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
숙소 아이디 |
|
|
|
숙소 이름 |
|
|
|
1박 가격 |
|
|
|
숙소 이미지 경로 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 123
{
"data" : [ {
"id" : 1,
"name" : "별빛밤",
"price" : 100000,
"imagePaths" : [ "test" ]
} ]
}
숙소 상세 조회
Request
End Point
/rooms/{roomId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
숙소 아이디 |
Request HTTP Example
GET /rooms/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
숙소 이름 |
|
|
|
1박 가격 |
|
|
|
숙소 설명 |
|
|
|
최대 게스트 수 |
|
|
|
우편번호 |
|
|
|
주소 |
|
|
|
상세 주소 |
|
|
|
침대 수 |
|
|
|
침실 수 |
|
|
|
욕실 수 |
|
|
|
숙소 유형 |
|
|
|
숙소 범위 |
|
|
|
숙소 이미지 경로 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 409
{
"data" : {
"name" : "별빛밤",
"price" : 100000,
"description" : "방설명",
"maxGuestNum" : 10,
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구",
"bedCnt" : 2,
"bedRoomCnt" : 1,
"bathRoomCnt" : 1,
"roomType" : "APARTMENT",
"roomScope" : "PRIVATE",
"imagePaths" : [ {
"imagePath" : "test"
} ]
}
}
숙소 호스트 API
숙소 생성
Request
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
숙소 이름 |
|
|
|
1박 가격 |
|
|
|
숙소 설명 |
|
|
|
최대 게스트 수 |
|
|
|
우편번호 |
|
|
|
주소 |
|
|
|
상세주소 |
|
|
|
침대 수 |
|
|
|
침실 수 |
|
|
|
욕실 수 |
|
|
|
숙소 유형 |
|
|
|
숙소 범위 |
|
|
|
숙소 이미지 경로 |
Request HTTP Example
POST /host/rooms HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk1LCJleHAiOjE2NTcxOTQyOTV9.9DJjg4GHhrpiBGb5m72Fyo2TVbVBHW_Hk8CTWcCvR1w
Content-Length: 334
Host: 54.180.129.133
{
"name" : "별빛밤",
"price" : 100000,
"description" : "방설명",
"maxGuestNum" : 10,
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구",
"bedCnt" : 2,
"bedRoomCnt" : 1,
"bathRoomCnt" : 1,
"roomType" : "APARTMENT",
"roomScope" : "PRIVATE",
"imagePaths" : [ "test" ]
}
Response
Name | Description |
---|---|
|
숙소 리소스 주소 |
Response HTTP Example
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /rooms/1
호스트 숙소 조회
Request
Request HTTP Example
GET /host/rooms HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEyLCJyb2xlIjoiUk9MRV9HVUVTVCIsImlhdCI6MTY1NzE5MDY5NCwiZXhwIjoxNjU3MTk0Mjk0fQ.qO34Sj39tu7teItlzt4KbSygGeip63in_yf16dknt68
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
숙소 이름 |
|
|
|
1박 가격 |
|
|
|
숙소 설명 |
|
|
|
최대 게스트 수 |
|
|
|
우편번호 |
|
|
|
주소 |
|
|
|
상세 주소 |
|
|
|
침대 수 |
|
|
|
침실 수 |
|
|
|
욕실 수 |
|
|
|
숙소 유형 |
|
|
|
숙소 범위 |
|
|
|
숙소 이미지 경로 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 807
{
"data" : [ {
"name" : "별빛밤",
"price" : 100000,
"description" : "방설명",
"maxGuestNum" : 10,
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구",
"bedCnt" : 2,
"bedRoomCnt" : 1,
"bathRoomCnt" : 1,
"roomType" : "APARTMENT",
"roomScope" : "PRIVATE",
"imagePaths" : [ {
"imagePath" : "test"
} ]
}, {
"name" : "별빛밤",
"price" : 100000,
"description" : "방설명",
"maxGuestNum" : 10,
"zipcode" : "00000",
"address" : "창원",
"detailAddress" : "의창구",
"bedCnt" : 2,
"bedRoomCnt" : 1,
"bathRoomCnt" : 1,
"roomType" : "APARTMENT",
"roomScope" : "PRIVATE",
"imagePaths" : [ {
"imagePath" : "test"
} ]
} ]
}
숙소 수정
Request
End Point
/host/rooms/{roomId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
숙소 아이디 |
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
숙소 이름 |
|
|
|
침대 수 |
|
|
|
침실 수 |
|
|
|
욕실 수 |
|
|
|
숙소 설명 |
|
|
|
1박 가격 |
|
|
|
최대 게스트 수 |
Request HTTP Example
PUT /host/rooms/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjk1LCJleHAiOjE2NTcxOTQyOTV9.9DJjg4GHhrpiBGb5m72Fyo2TVbVBHW_Hk8CTWcCvR1w
Content-Length: 187
Host: 54.180.129.133
{
"name" : "수정된 이름",
"price" : 111111,
"description" : "수정된 방 설명",
"maxGuestNum" : 1111,
"bedCnt" : 11,
"bedRoomCnt" : 11,
"bathRoomCnt" : 11
}
Response
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
리뷰 API
리뷰 생성
Request
End Point
/reservations/{reservationId}/reviews
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
예약 아이디 |
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
리뷰 점수 |
|
|
|
리뷰 내용 본문 |
Request HTTP Example
POST /reservations/1/reviews HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjkzLCJleHAiOjE2NTcxOTQyOTN9.A2fZfaalHFK6JjGzTX7akk-ne7eLy0OdZZoUa8CJcd4
Content-Length: 45
Host: 54.180.129.133
{
"content" : "content",
"score" : 5
}
Response
Name | Description |
---|---|
|
생성된 리뷰 URI |
Response HTTP Example
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /reviews/1
본인 리뷰 조회
Request
End Point
/reviews
Request Parameters
파라미터 | 필수값 | 설명 |
---|---|---|
|
true |
리뷰 점수 |
|
true |
페이지 사이즈 |
|
true |
페이지 번호 |
Request HTTP Example
GET /reviews?score=1&size=10&page=1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjMsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjkyLCJleHAiOjE2NTcxOTQyOTJ9.o_Bi-A74DeCcnicrihktiyxyQiawvuUdHKWPGokulyA
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
리뷰 점수 |
|
|
|
리뷰 내용 본문 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 72
{
"data" : [ {
"score" : 1,
"content" : "content"
} ]
}
숙소 리뷰 조회
Request
End Point
/rooms/{roomId}/reviews
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
숙소 아이디 |
Request Parameters
파라미터 | 필수값 | 설명 |
---|---|---|
|
true |
리뷰 점수 |
|
true |
페이지 사이즈 |
|
true |
페이지 번호 |
Request HTTP Example
GET /rooms/2/reviews?score=5&size=10&page=1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjQsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjkxLCJleHAiOjE2NTcxOTQyOTF9.YT5HtD50UXzssu1OOfHUd2XuyvQ8_T1Fhi8G9aiOeh8
Host: 54.180.129.133
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
리뷰 점수 |
|
|
|
리뷰 내용 본문 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 284
{
"data" : [ {
"score" : 5,
"content" : "content"
}, {
"score" : 5,
"content" : "content"
}, {
"score" : 5,
"content" : "content"
}, {
"score" : 5,
"content" : "content"
}, {
"score" : 5,
"content" : "content"
} ]
}
리뷰 수정
Request
End Point
/reviews/{reviewId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
리뷰 아이디 |
Request Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
리뷰 점수 |
|
|
|
리뷰 내용 본문 |
Request HTTP Example
POST /reviews/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjkxLCJleHAiOjE2NTcxOTQyOTF9.W7qL6T2a7s1Gk_kerODSv-5pg3d6g8FTmlBSUTGHpk0
Content-Length: 50
Host: 54.180.129.133
{
"content" : "edit-content",
"score" : 2
}
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
리뷰 점수 |
|
|
|
리뷰 내용 본문 |
Response HTTP Example
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 73
{
"data" : {
"score" : 2,
"content" : "edit-content"
}
}
리뷰 삭제
Request
End Point
/reviews/{reviewId}
Path Parameters
파라미터 | 양식 | 설명 |
---|---|---|
|
리뷰 아이디 |
Request HTTP Example
DELETE /reviews/1 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInJvbGUiOiJST0xFX0dVRVNUIiwiaWF0IjoxNjU3MTkwNjkwLCJleHAiOjE2NTcxOTQyOTB9.iXA3CHyVmgw4dQy__2ojAls1jvxSLT2vGgRf651XeoY
Host: 54.180.129.133
Response
Response HTTP Example
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
이미지 업로드 API
공통
이미지 업로드 시 S3 경로 배열을 반환한다.
이미지 업로드
Request
Part | Description |
---|---|
|
이미지 파일 배열 |
Request HTTP Example
$ curl 'http://54.180.129.133/room-images' -i -X POST \
-H 'Content-Type: multipart/form-data;charset=UTF-8' \
-F 'images=@imagefile.jpeg;type=multipart/form-data'
Response
Response Data Fields
필드명 | 타입 | 양식 | 설명 |
---|---|---|---|
|
|
s3 이미지 경로 배열 |
Response HTTP Example
{
"data" : [ "https://s3.amand.com/0" ]
}