air-intl-search API 분석 계획
프로젝트 개요
- 프로젝트명: air-intl-search (국제 항공 검색 서비스)
- 소스 위치:
/workspace/nol/nol-triple/air-intl-search
- 기술 스택: Kotlin, Spring Boot (WebMVC)
- 문서 생성 위치:
/workspace/molidae/docs/nol/nol-triple/air-intl-search
API 분류
1. Public APIs
클라이언트(앱/웹)에서 직접 호출하는 API
| Controller | Base Path | 설명 |
|---|
| FlightSearchController | /flights | 항공편 검색 (편도/왕복/다구간) |
| FlightDetailController | /flights/detail | 항공편 상세 정보, 운임 규정, 카드 혜택 |
| FareRuleController | /fare-rules | 운임 규정 비동기 조회 |
2. Internal APIs
내부 서비스 간 호출용 API
| Controller | Base Path | 설명 |
|---|
| FlightSearchInternalController | /internals/flights | 내부용 항공편 검색 (재발행 포함) |
| FlightDetailInternalController | /internals/flights/detail | PNR 기반 항공편 상세 조회 |
3. Admin APIs
관리자용 API (특수 헤더 필요)
| Controller | Base Path | 설명 |
|---|
| FlightSearchAdminController | /internals/admin/flights | Split/Combined 검색 지원 |
| FlightMetaSearchAdminController | /internals/admin/flights/meta | 메타 검색 전용 |
4. Proxy APIs
프록시 서비스용 API (특수 헤더 필요)
| Controller | Base Path | 설명 |
|---|
| FlightSearchProxyController | /internals/proxy/flights | 프록시 검색 |
| FareRuleProxyController | /internals/proxy/flights/fare-rules | 프록시 운임 규정 |
| FlightMetaSearchProxyController | /internals/proxy/flights/meta | 프록시 메타 검색 |
| FlightSearchV2ProxyController | /internals/proxy/flights/search/v2 | V2 프록시 검색 |
문서 생성 계획
Phase 1: 핵심 Public API
- FlightSearchController - 항공편 검색의 핵심 API
- FlightDetailController - 상세 정보 조회
- FareRuleController - 운임 규정
Phase 2: Internal API
- FlightSearchInternalController - 내부 검색 + 재발행
- FlightDetailInternalController - PNR 기반 상세
Phase 3: Admin API
- FlightSearchAdminController - 관리자 검색
- FlightMetaSearchAdminController - 메타 검색
Phase 4: Proxy API
- FlightSearchProxyController - 프록시 검색
- FareRuleProxyController - 프록시 운임 규정
- FlightMetaSearchProxyController - 프록시 메타 검색
- FlightSearchV2ProxyController - V2 프록시 검색
공통 요소
검색 파라미터
originType/destinationType: LocationType (AIRPORT, CITY)
origin/destination: IATA 코드 (3자리)
outboundDate/inboundDate: LocalDate (ISO 형식)
cabins: Set (ECONOMY, BUSINESS, FIRST 등)
adult/child/infant: 승객 수
freeBaggageOnly: 무료 수하물 항공편만
useCache: 캐시 사용 여부
검색 유형
- 편도 (One-Way): 1개 구간
- 왕복 (Round-Trip): 2개 구간 (출발지-목적지, 목적지-출발지)
- 다구간 (Multi-City): 2~4개 구간
응답 방식
- 비동기 폴링: listKey 반환 → 폴링으로 결과 조회
- 동기 응답: 즉시 결과 반환 (Admin/Proxy)
헤더 요구사항
- Admin/Proxy API:
X-Triple-Sales-Channel, X-Triple-Sales-Funnel 필수
- 캐시 키:
X-Cached-Search-Key (Split 검색 시)
생성된 DFS 문서 목록
문서 생성 정보
- 생성일: 2025-12-15
- 소스 버전: air-intl-search (최신)
- 문서 형식: Obsidian 호환 마크다운