CityClient
City API를 호출하는 클라이언트. 공항 및 도시 정보를 조회한다.
상속
ClientSupport 상속
설정
- endpoint:
infrastructureProperties.city.internalEndpoint - timeout:
infrastructureProperties.city.fuelTimeout
헤더
| 헤더 | 값 |
|---|---|
Content-Type | application/json |
Accept | application/json |
X-Triple-Api-Origin | 고정값 |
메서드
getAirportByIata
fun getAirportByIata(iata: String): Airport?IATA 코드로 공항 정보를 조회한다. GET /airports/{iata}
| Caller | Callee |
|---|---|
| AirportService.getAirportByIata | City API |
실패 처리: 실패 시 null 반환 (예외 미발생).
getCityByIata
fun getCityByIata(iata: String): CityIATA 코드로 도시 정보를 조회한다. GET /cities/iata/{iata}
| Caller | Callee |
|---|---|
| CityService.getCityByIata | City API |
예외 처리:
- 공항 목록이 비어있으면
INVALID_ITINERARY예외 - API 실패 시
ResponseStatusException
Airport
| 필드 | 설명 |
|---|---|
id | 내부 ID (null이면 미등록) |
iataCode | IATA 공항 코드 |
name | 공항명 |
country | 국가 정보 |
timezone | 시간대 |
City
| 필드 | 설명 |
|---|---|
iataCode | IATA 도시 코드 |
name | 도시명 |
airportIataCodes | 소속 공항 코드 목록 |
country | 국가 정보 |
특징
- 공항 Optional: 미등록 공항은 null 반환
- 도시 필수: 도시 조회 실패 시 예외 발생
- 공항 목록 검증: 공항 없는 도시는 유효하지 않음