Skip to content

API List

choitree edited this page May 20, 2021 · 19 revisions

API 목록 : 화면 별 분류

GET /main

메인 화면 : 이미지 받아오는 GET API

Response

{
 "heroBanner " : [
                   {},
                   ...
                 ],
 "nearDestination" : [
                        {},
                        ...
                     ]
}
struct HeroBanner {
 let image
 let title
}

struct NearDestination {
 let image
 let Destination
 let timeDistance // 본래 상대적이어야 하지만, 임의로 시간 거리를 집어넣음 (30분, 4.5시간)
}

Map ( none API )

검색 화면 : mapkit을 사용하기로 . (https://daheenallwhite.github.io/ios/2019/08/07/MKLocalSearchCompleter/)

GET /search/price/{location}

숙소찾기 내 가격범위 : GET API 해당 지역의 숙소들의 가격을 가져오는 API

body

response

return Array<Int>

 [Int]

GET /search

form-data 가능일지

body

{
 let location
 let checkIn
 let checkOut
 let priceRange
 let personnel
}

response

[
  {
   "image" : ,
   "grade" : ,
   "reviewer" : ,
   "roomName" : ,
   "pricePerDay" : ,
   "totalPrice" : ,
  }
  ...
]

GET /rooms/{roomId}

숙소 상세 : GET API

response

struct roomInfo {
 let roomid : Int
 let image : [String]
 let grade : Float // 실수형
 let howManyReviewer : Int
 let location : String
 let roomName
 let pricePerDay
 let totalPrice // iOS가 계산.
 let roomType :String // "레지던스 전체", "아파트 전체", "게스트용 별채 전체" "초소형 주택" "개인실"
 let host: HOST 
 let roomConfiguration: String // "최대인원 3명∙원룸∙침대 1개∙욕실 1개"
 let description
}

struct Host{
 let name : String
 let profileImage : String
}

GET /rooms/{roomId}/price

form-data 가능일지

최종 결제 팝업 : GET API

{
 "checkIn" : ,
 "checkOut" : ,
 "personnel: {
     "guest" :,
     "infant":
  }
}

response

{
 let dicountPerWeek
 let cleaningFee
 let serviceFee
 let tax
 let totalPrice
}

POST /bookings/{userId}

예약하기 : POST API

body : {
 let roomId: Int,
 let checkIn : String
 let checkOut : String
 let personnel : Personnel // "게스트 3명"
 let totalPrice : Int
}

GET /bookings/{userId}

예약 정보 보기

[
   {
    "bookingId":,
    "roomId":,
    "roomName":,
    "image":[],
    "checkIn" :,
    "checkOut" :,
    "location":
   },
   ...
]

GET bookings/{bookingId}/{userId}

예약 목록 -> 상세페이지

response

{
 let checkIn : String
 let checkOut : String
 let host: Host
 let roomType : String
 let personnel : Personnel // "게스트 3명"
 let totalPrice : Int
}
struct Personnel {
 let guest : Int
 let 유아 : Int?
}

DELETE /bookings/{bookingId}/{userId}

예약 취소 : DELETE API

GET /wishlist/{userId}

위시리스트 : GET API

[
   {
      roomInfo 
   }
]

POST /wishlist/{userId}

request

POST API : 숙소를 위시리스트로 지정

{
 "roomId" : 
}

DELETE /wishlist/{userId}

request

DELETE API : 숙소를 위시리스트로 삭제

{
  "roomId" : 
}