- DTO에 hostID를 넘겨줘서 해당 host에 상품(Product)를 저장한다.
- Product와 Accommodation은 SingleTable전략으로 Table이 부모역할을 맡고있다.
- 여기서 정의한 Product는 Ticket과 Accommodaiton의 공통 정보를 담고있다.
- accommodationOptions은 List로 받아서 내부적으로는 Set으로 관리한다.
(중복 선택을 방지하기위해서)
Request
{
"hostId":1,
"productDto":{
"hostId":null,
"refundRule":"환불 규정",
"phoneNumber":"01022223333",
"businessRegistrationNumber":"192293293847",
"businessAddress":"경기도 용인시 죽전동",
"businessName":"미니컴퍼니",
"region":"경기도",
"location":{
"howToVisit":"방문하는 방법",
"latitude":31.1,
"longitude":111.11111,
"content":"버스타고 50분"
}
},
"accommodationName":"숙박업체 이름",
"accommodationNotice":"숙박업체 공지",
"optionNotice":"optionNotice",
"guide":"guide",
"accommodationCategory":"호텔",
"accommodationOptions":[
{
"accommodationOptionCategory":"넷플릭스 지원"
},
{
"accommodationOptionCategory":"조식 지원"
}
]
}
Response
MockHttpServletResponse:
Status = 201
Error message = null
Headers = [Content-Type:"application/json;charset=UTF-8"]
Content type = application/json;charset=UTF-8
{
"businessName":"미니컴퍼니",
"accommodationName":"숙박업체 이름"
}
응답 성공시 201(created) 를 보낸다.
응답 실패시 200(internal server error)를 보낸다.