이 주제 중 하나의 "차원"은 생략되었지만 매우 중요합니다. "모범 사례"가 REST 기능으로 구현하거나 기능을 보강하는 플랫폼과 관련이있을 때가 있습니다.
실제 예 :
오늘날 많은 웹 애플리케이션은 MVC (Model, View, Controller) 아키텍처를 구현합니다. 웹 응용 프로그램에 "SEO URL 사용"옵션이있는 경우 특정 표준 경로가 제공된다고 가정합니다.
꽤 유명한 웹 응용 프로그램 인 OpenCart 전자 상거래 상점을 언급하면됩니다. 관리자가 "SEO URL"을 활성화하면 해당 URL이 다음과 같은 표준 MVC 형식이 될 것으로 예상됩니다.
http://www.domain.tld/special-offers/list-all?limit=25
어디
special-offers
URL을 처리 할 MVC 컨트롤러입니다 (특별 행사 페이지 표시).
list-all
호출 할 제어기의 조치 또는 기능 이름입니다. (*)
limit = 25는 페이지 당 25 개의 항목이 표시됨을 나타내는 옵션입니다.
(*) list-all
는 명확성을 위해 사용한 가상 함수 이름입니다. 실제로 OpenCart 및 대부분의 MVC 프레임 워크에는 index
사용자가 기본 작업을 수행하려고 할 때 호출 되는 기본 암시 적 (및 일반적으로 URL에서 생략 됨) 기능이 있습니다. 따라서 실제 URL은 다음과 같습니다.
http://www.domain.tld/special-offers?limit=25
위와 비슷한 상당히 표준적인 응용 프로그램 또는 프레임 워크 구조를 사용하면 최적화 된 웹 서버를 얻게되며 URL을 다시 작성합니다 (실제 "비 SEO"URL은 다음과 같습니다). http://www.domain.tld/index.php?route=special-offers/list-all&limit=25
).
따라서 개발자는 시스템 관리자가 아닌 한 기존 인프라를 다루고 "모범 사례"를 조정해야합니다. Apache / NGinx 다시 쓰기 구성을 조정하는 방법 (후자는 불쾌 할 수 있음)을 정확하게 알고 있어야합니다. 의 위에.
따라서 REST API는 참조 웹 애플리케이션의 표준에 따라 일관성과 편의성 / 속도 (따라서 예산 절약) 측면에서 훨씬 더 나은 경우가 많습니다.
위의 실제 예제로 돌아가려면 일관된 REST API는 다음과 같은 URL을 사용합니다.
http://www.domain.tld/api/special-offers-list?from=15&limit=25
또는 (SEO가 아닌 URL)
http://www.domain.tld/index.php?route=api/special-offers-list?from=15&limit=25
"경로 형성"인수와 "쿼리 형성"인수가 혼합되어 있습니다.