<aside> 🗂️
공식 제공 페이지 기준 API는 4종이지만, 프로젝트에서는 실패 범위와 정규화 책임에 따라 5개 Source로 나눴다.
</aside>
| 내부 Source | 공식 공공데이터 | 프로젝트에서 확인한 정보 |
|---|---|---|
| shortest_route | 최단경로이동정보 | 이동 시간, 환승, 구간별 경로 후보 |
| facility_info | 편의시설위치정보 | 엘리베이터·에스컬레이터 위치와 운행 구간 |
| elevator_status | 교통약자 이용시설 승강기 가동현황 | 시설별 가동 상태 |
| elevator_info | 교통약자이용정보 | 역·호선별 엘리베이터 상세 위치 |
| restroom | 교통약자이용정보 | 역·호선별 장애인화장실 위치 |
교통약자이용정보 API가 엘리베이터와 장애인화장실을 함께 제공하더라도, 한쪽의 실패가 다른 쪽의 조회 상태를 숨기지 않도록 내부 Source는 분리했다.
| 대상 | 처리 기준 |
|---|---|
| 역명·호선 | 별칭과 운영기관을 Registry로 관리하고, 모호하면 한 번에 하나의 추가 질문 반환 |
| 경로 API 역 코드 | 일반 역 ID와 분리하고 실제 응답으로 검증한 코드만 사용 |
| 시설 상태 | Source마다 다른 상태값을 AVAILABLE, MAINTENANCE, UNAVAILABLE, UNKNOWN으로 정리 |
| 시설 동일성 | 시설 ID 또는 유일한 정확 이름처럼 충분한 근거가 있을 때만 위치와 상태를 결합 |
| 지원 범위 | 역 인식, 경로 코드, Source Coverage를 조합해 완전·부분·미검증으로 구분 |
| 상태 | 의미 |
|---|---|
| 정상 데이터 | 조회에 성공했고 조건에 맞는 근거가 있음 |
| 정상 빈 결과 | 조회는 성공했지만 일치 항목이 없음 |
| 일부 Source 실패 | 확인 가능한 결과는 남기고 실패 출처를 표시 |
| 지원 범위 밖 | 연결한 데이터가 해당 역·운영기관을 제공하지 않음 |
| Stale Fallback | 최신 조회에 실패해 허용 기간 안의 이전 응답을 사용 |
공공데이터에 없다는 것과 현실에 없다는 것은 전혀 다른 말이다.