232
한 권으로 끝내는 Node & Express
용 중이라면 그 바탕에 다른
REST
API
가 있을 수도 있습니다).
현실적인 관점에서,
HTTP
의 제약 때문에 사실
RESTful
하지 않은
API
를 만들기가 더 어렵습
니다. 예를 들어 그런
API
를 만들려면 우선 ‘상태’를 직접 구현해야 하니까요. 문자 그대로 시
작이 반이군요.
우리는 메도라크 여행사 웹사이트에
REST
API
를 추가할 겁니다. 메도라크 여행사에서는 오리
건 여행을 권장하기 위해 오리건의 명소 데이터베이스를 만들어두고 있는데, 이 데이터베이스
에는 흥미로운 역사적 사실들이 많이 들어 있습니다.
API
를 사용하면 방문자가 오리건을 여행
할 때 가이드가 될 스마트폰 또는 태블릿용 애플리케이션을 만들 수 있습니다. 장치가 현재 위
치를 인식한다면, 흥미로운 장소 가까운 곳에 있을 때 알려줄 수도 있을 겁니다. 데이터베이스
는 계속 늘어날 수 있어야 하므로
API
에서는 주요 지형지물과 명소를 추가하는 것도 지원합니
다(악용을 막으려면 검증 과정을 거쳐야 하겠죠).
15.1.
JSON
과
XML
API
를 제공하려면 공통 언어가 있어야 합니다. 통신 중 일부분은 이미 정해져 있습니다. 서버
와 통신할 때는 반드시
HTTP
를 사용해야 합니다. 하지만 그 외에는 어떤 데이터 언어든 자
유롭게 쓸 수 있습니다.
XML
은 전통적으로 널리 쓰였고 현재도 중요한 마크업 언어입니다.
XML
이 그렇게 복잡한 건 아니지만, 더글러스 크록퍼드는 더 경량화할 수 있다고 보고 자바스
크립트 객체 표기법(
JSON ...