나는 지난 여름에 Pebble time이라는 스마트워치를 샀고 대전 버스에 관한 앱이 없기에(서울은 있음) 연습 삼아 버스 정보 앱을 만들어보려고 했다. 하지만 대전시는 API를 사용하기 위해서는 버스 정보의 특성상 write는 할 게 없고 read만 가능함에도 불구하고 키를 발급받아 사용하라고 했고 계절이 두 번이나 바뀌는 동안 키를 발급을 해 주지도 않았다.
일단 대전시에서 제공하는 버스 정보 API의 매뉴얼을 보자. 태클을 걸 곳이 한두 군데가 아닌데 애초에 키를 발급을 안 해 주니 의미 없는 한탄일지도 모르겠다.
- 도메인이 없다
광역시나 되는 주체가 API를 제공하는데 도메인도 없고 URL에 IP 주소가 그대로 나타나는 건 애초에 관심이 없다는 걸 나타낸다. - API key를 URL에 그대로 넣는다
인증을 위한 key 같은 건 헤더에 넣거나 파라미터로 전달을 하거나 해야지 URL에 아예 포함이 되는 것은 기본도 모르는 사람이 만들었다는 걸까? - 파라미터에 대한 설명이 부족하다
버스 위치정보에 대한 설명을 보면RouteID
라는 파라미터가 들어가게 되는데 글로 설명은 되어있지만 정작 그 ID를 어디서 얻어야 하는지에 대한 링크나 설명이 전혀 없다. 이런 설명이라면 그RouteID
를 알아낸다는 명목 하에 브루트포스를 당해도 할 말이 없지 않을까 싶다. - 출력 예제는 있는데 입력 예제가 없다
사실 이 부분은 굳이 없어도 문서에 설명이 잘 되어 있으면 상관이 없기는 한데 앞서 설명했듯이 파라미터에 대한 설명도 없고 예시도 없으면 그냥 이 API를 쓰지 말라는 것으로밖에는 보이지 않는다.
난 키도 발급 안 해 주는 이 시스템이 OpenAPI인지 하나도 모르겠다.