FlightSearchV2ProxyController
프록시 서비스 V2용 항공편 검색 API 컨트롤러. 기본 FlightGroupCriteria가 SCHEDULE_WITH_FREE_BAGGAGE이며, SPLIT/COMBINED 검색을 쿼리 파라미터로 분기한다.
필수 헤더
X-Triple-Sales-Channel: 판매 채널X-Triple-Sales-Funnel: 판매 퍼널
의존성
| 서비스 | 용도 |
|---|---|
| StandardFlightSearchUseCase | 표준 검색 |
| SplitFlightSearchUseCase | 분리 검색 (왕복을 편도+편도로) |
| CombineFlightSearchUseCase | 조합 검색 (멀티티켓) |
| LocationService | 위치 정보 조회 |
V1과의 차이점
| 항목 | V1 | V2 |
|---|---|---|
| 기본 FlightGroupCriteria | SCHEDULE | SCHEDULE_WITH_FREE_BAGGAGE |
| 응답 뷰 | InternalProxyFlightItemView | InternalProxyFlightItemV2View |
| SPLIT/COMBINED 분기 | useMultiTicket 파라미터 | mixResponseType 쿼리 파라미터 |
메서드
searchOneWayTrip
fun searchOneWayTrip(
...,
flightGroupCriteria: FlightGroupCriteria = SCHEDULE_WITH_FREE_BAGGAGE
): ResponseEntity<List<InternalProxyFlightItemV2View>>V2 프록시용 편도 검색.
| Caller | Callee |
|---|---|
HTTP GET /internals/proxy/flights/search/v2/{...}/{outboundDate} | FlightSearchV2ProxyController.searchFlights |
searchRoundTrip
fun searchRoundTrip(
...,
flightGroupCriteria: FlightGroupCriteria = SCHEDULE_WITH_FREE_BAGGAGE
): ResponseEntity<List<InternalProxyFlightItemV2View>>V2 프록시용 왕복 검색 (표준).
| Caller | Callee |
|---|---|
HTTP GET /internals/proxy/flights/search/v2/{...}/{outboundDate}/{inboundDate} | FlightSearchV2ProxyController.searchFlights |
searchSplitRoundTrip
fun searchSplitRoundTrip(
...,
searchTripDirectionType: SearchTripDirectionType?,
detailKey: String?,
promotionPrincipleId: Long?,
cachedListKey: String?,
mixResponseType: MixFlightResponseType? // params = ["mixResponseType=SPLIT"]
): ResponseEntity<List<InternalProxyFlightItemV2View>>V2 프록시용 Split 왕복 검색. mixResponseType=SPLIT 파라미터로 분기된다.
| Caller | Callee |
|---|---|
HTTP GET .../{outboundDate}/{inboundDate}?mixResponseType=SPLIT | FlightSearchV2ProxyController.searchSplitFlights |
searchCombinedRoundTrip
fun searchCombinedRoundTrip(
...,
debug: Boolean = false,
mixResponseType: MixFlightResponseType? // params = ["mixResponseType=COMBINED"]
): ResponseEntity<List<InternalProxyFlightItemV2View>>V2 프록시용 Combined 왕복 검색. mixResponseType=COMBINED 파라미터로 분기된다.
| Caller | Callee |
|---|---|
HTTP GET .../{outboundDate}/{inboundDate}?mixResponseType=COMBINED | FlightSearchV2ProxyController.searchCombinedFlights |
searchMultiCityTrip (2~4구간)
V2 프록시용 다구간 검색. 2~4구간까지 지원한다.
searchFlights (private)
표준 검색 로직.
| Caller | Callee |
|---|---|
| 검색 메서드들 | StandardFlightSearchUseCase.searchFlights |
| InternalProxyFlightItemV2View.of |
searchSplitFlights (private)
Split(분리) 검색 로직.
| Caller | Callee |
|---|---|
| FlightSearchV2ProxyController.searchSplitRoundTrip | CacheKeyGenerator.getFlightSearchCacheKey |
| SplitFlightSearchUseCase.searchFlights | |
| InternalProxyFlightItemV2View.of |
searchCombinedFlights (private)
Combined(조합) 검색 로직.
| Caller | Callee |
|---|---|
| FlightSearchV2ProxyController.searchCombinedRoundTrip | MDCHolder.SalesFunnel.get |
| CombineFlightSearchUseCase.searchFlights | |
| InternalProxyFlightItemV2View.of |
특징
- 동기식 응답: 폴링 없이 즉시 결과 반환
- 캐시 키 헤더: Split 검색 시
X-Cached-Search-Key헤더 포함 - 쿼리 파라미터 분기: mixResponseType 값으로 SPLIT/COMBINED 분기
- 디버그 모드: Combined 검색 시 debug=true 옵션 지원
- 기본 무료수하물 그룹핑: FlightGroupCriteria 기본값이 SCHEDULE_WITH_FREE_BAGGAGE