LocationService
위치 정보를 조회하는 서비스. 도시 또는 공항 타입에 따라 적절한 정보를 반환한다.
의존성
메서드
getLocationInfo
fun getLocationInfo(type: LocationType, iata: String): LocationInfo
위치 타입에 따라 도시 또는 공항 정보를 조회한다.
LocationType별 처리:
| 타입 | 처리 |
|---|
CITY | 도시 정보 조회 + 소속 공항들 조회 |
AIRPORT | 공항 정보만 조회 |
LocationInfo
sealed class로 City와 Airport 두 가지 타입 존재.
LocationInfo.City
| 필드 | 설명 |
|---|
cityIata | 도시 IATA 코드 |
airportIatas | 소속 공항 IATA 코드 목록 |
countryCode | 국가 코드 |
LocationInfo.Airport
| 필드 | 설명 |
|---|
airportIata | 공항 IATA 코드 |
cityIata | 소속 도시 IATA 코드 |
countryCode | 국가 코드 |
특징
- 도시/공항 구분: LocationType으로 명시적 구분
- 도시 → 공항 확장: 도시 타입일 때 모든 소속 공항 정보 포함
- 예외 처리: 잘못된 IATA 코드는
INVALID_PARAMETER 예외