LocationService

위치 정보를 조회하는 서비스. 도시 또는 공항 타입에 따라 적절한 정보를 반환한다.

의존성

서비스용도
CityService도시 정보 조회
AirportService공항 정보 조회

메서드

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 예외