일관된 인프라
REST API는 일관되고 사람이 읽을 수 있습니다. 자체 문서화입니다.
GET wp-json/wp/v2/posts
그것이 무엇을하는지는 분명합니다. 그것은 GET
어떤 게시물이야.
네임 스페이스 : wp
, 버전 : v2
및 객체 컬렉션이 있습니다.posts
당신은 무엇을 추측 할 수 있습니까 : GET wp-json/wp/v2/posts/5
합니까? 어때요?GET wp-json/wp/v2/posts/5/comments
방법 :GET wp-json/shop/v2/orders/345/lines/11/price
개발자는이를 살펴보면 쉽게 추측 할 수 있으며 , 설명서를 읽지 않아도 11
주문 가격 을 주문할 345
수 있습니다. 개발자 shop
는 네임 스페이스에 따라 플러그인 에서 나왔다는 것을 쉽게 알 수 있습니다 .
어때요? POST /wp-json/v2/posts title=New Blog Post
어때요PUT /wp-json/v2/posts title=New Title
꽤 분명합니다. 새로운 게시물을 만듭니다. 그건 그렇고, 그것은 새로운 게시물의 ID를 반환합니다. AJAX 또는 REST API가 아닙니다. AJAX는 단순히 REST API에 액세스 하는 기술입니다 . 이전에는 다음과 같은 추상적 인 아약스 함수 이름이 필요했습니다
get_price_for_lineitem( $order, $line )
. 숫자 또는 JSON 객체 만 반환합니까? 잘 모르겠습니다. 문서는 어디에 있습니까? 아 ... 아약스 호출이었다 get_order_line_price
또는get_lineitem_price
.
기존 wp-json
API는 자체 엔드 포인트를 생성 할 때 따라야 할 기본 모델 을 제공 하기 때문에 개발자는 이러한 결정을 내릴 필요가 없습니다 . 물론 플러그인 또는 API 개발자는 이러한 규칙을 위반할 수 있지만 일반적으로 이미 설정된 표준을 따르는 것이 더 쉽고 대부분의 개발자는 이미 설정된 패턴을 따르는 것이 좋습니다 (현재 jQuery 패턴이 얼마나 널리 퍼져 있는지 확인).
방해받지 않는 흡수
POST /wp-json/mysite/v1/widgets title=Foobar
작동 방식에 관심 이 있습니까? 아니. 나는 단지 새로운 것을 만들고 싶어 Widget
하고 나는 그 대가로 ID를 원한다. 페이지를 새로 고치지 않고 프런트 엔드의 양식에서 수행하고 싶습니다. URL을 요청하면 PHP, C #, ASP.NET 또는 다른 기술인지 상관하지 않습니다. 새 위젯을 만들고 싶습니다.
REST API는 백엔드를 프론트에서 분리합니다. 기술적으로 API가 충분하면 전체 백엔드 스택을 변경할 수 있습니다. 동일한 REST API 구조를 유지하는 한 API에 의존하는 것은 영향을받지 않습니다.
REST API가 단순하고 일관성이 있고 Widgets
오브젝트 콜렉션 과 같은 명사를 사용하고 Widget/2
단일 엔티티를 나타내는 것과 같은 명사 / 식별자 를 사용하는 경우 다소 기본적인 데이터베이스 배관이므로 API를 매우 다른 기술로 작성하는 것이 매우 간단합니다. 암호.
표준 HTTP 요청 동사를 사용합니다.
REST API는 웹 작동 방식의 핵심과 표준 데이터 CRUD 함수에 맵핑하는 동사 (읽기 : 조치)를 활용합니다.
CREATE : POST
READ : GET
UPDATE : PUT/PATCH
DELETE : DELETE
더 많은 HTTP 동사가 있지만 이것들은 기본입니다. 인터넷을 통한 모든 단일 요청은이 동사를 사용합니다. REST API는 요청시 웹이 구축 된 모델의 바로 위에 있습니다. 그 사이에 통신 계층이나 추상화 모델이 필요하지 않습니다. URL에 대한 표준 http 요청 일 뿐이며 응답을 반환합니다. 당신은 그것보다 훨씬 간단하게 얻을 수 없습니다.
본질적으로 개발자는 웹이 실제로 어떻게 작동하는지에 대한 기본 사항을 더 잘 알 수 있으며 기본 프로토콜이 어떻게 작동하는지 이해하면 더 효율적으로 더 나은 제품을 만들 수 있습니다.