<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 최신 조회에 실패해 허용 기간 안의 이전 응답을 사용

공공데이터에 없다는 것과 현실에 없다는 것은 전혀 다른 말이다.

대표 구현 근거