СКЛАДНА інфраструктура
API REST є послідовним та зрозумілим для людини. Це самодокументація.
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
Це теж зрозуміло. Це робить нову посаду. До речі, він повертає ідентифікатор нової публікації. Мова не про 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
і хочу отримати ідентифікатор натомість. Я хочу це зробити з форми на моєму передньому кінці, не оновлюючи сторінку. Якщо я подаю запит на URL-адресу, мені байдуже, чи це PHP, C #, ASP.NET або будь-яка інша технологія. Я просто хочу створити новий Віджет.
API REST розв'язує серверну частину спереду. Технічно, якщо ваш API достатньо хороший, ви можете змінити весь стек заходу. Поки ви підтримували ту саму структуру API REST, все, що залежало від API, не вплине.
Якщо ваш API REST досить простий і послідовний, використовуючи іменник, як Widgets
набір об’єктів і іменник / ідентифікатор, як, Widget/2
щоб позначити одну сутність, написати цей API в абсолютно іншій технології, тому що це більш-менш основна сантехніка баз даних код.
Використовує стандартні дієслова HTTP Request.
API REST використовує серцевину роботи веб-сторінок та VERB (читати: дія), які ви використовуєте map для стандартних функцій CRUD даних.
CREATE : POST
READ : GET
UPDATE : PUT/PATCH
DELETE : DELETE
Є більше дієслів HTTP, але це основи. Кожен окремий запит через Інтернет використовує ці дієслова. API REST розташовується прямо на верхній частині моделі, побудованої в Інтернеті за запитами. Немає необхідності в будь-якому комунікаційному шарі чи моделі абстрагування між ними. Це просто стандартний запит http до URL, і він повертає відповідь. Ви не можете отримати набагато простіше, ніж це.
По суті, це робить розробника більш обізнаним із гайками та болтами того, як веб-сайт насправді працює, і коли ви ближче розумієте, як працюють основні протоколи, ви в кінцевому підсумку робите більш ефективний, кращий продукт.