Infrastruktur KONSISTEN
API REST konsisten dan dapat dibaca manusia. Ini mendokumentasikan diri.
GET wp-json/wp/v2/postscukup jelas apa fungsinya. Ada GETbeberapa posting.
Anda memiliki namespace:, wpversi: v2dan koleksi objekposts
Bisakah Anda menebak apa: GET wp-json/wp/v2/posts/5tidak? Bagaimana: GET wp-json/wp/v2/posts/5/comments
Bagaimana:GET wp-json/shop/v2/orders/345/lines/11/price
Seorang pengembang dapat dengan mudah menebak dengan melihat itu, ia akan mendapatkan harga baris 11sesuai pesanan 345bahkan tanpa membaca dokumentasi. Dev bahkan dapat dengan mudah mengatakan bahwa itu berasal dari shopPlugin karena itu namespace.
Bagaimana dengan POST /wp-json/v2/posts title=New Blog Post
BagaimanaPUT /wp-json/v2/posts title=New Title
Itu juga cukup jelas. Itu membuat posting baru. Omong-omong, itu mengembalikan ID dari posting baru. Ini bukan tentang AJAX ATAU API REST. AJAX hanyalah teknologi yang mengakses API REST. Padahal, sebelumnya, Anda harus datang dengan sekelompok nama fungsi ajax abstrak seperti:
get_price_for_lineitem( $order, $line ). Apakah itu akan mengembalikan hanya nomor, atau objek JSON? Saya tidak yakin, di mana dokumentasinya. Oh ... adalah panggilan ajax get_order_line_priceatau get_lineitem_price.
Pengembang tidak harus membuat keputusan ini, karena wp-jsonapi yang ada menyediakan model dasar yang baik untuk diikuti saat membuat titik akhir Anda sendiri. Tentu, pengembang plugin atau api dapat melanggar aturan-aturan ini, tetapi secara umum lebih mudah untuk mengikuti standar yang telah ditetapkan dan sebagian besar pengembang lebih suka mengikuti pola yang telah ditetapkan (lihat bagaimana pola jQuery meresap sekarang).
ABSTRAKSI tanpa gangguan
Apakah saya peduli bagaimana cara POST /wp-json/mysite/v1/widgets title=Foobarkerjanya? Nggak. Saya hanya ingin membuat yang baru Widgetdan saya ingin ID sebagai imbalannya. Saya ingin melakukannya dari formulir di ujung depan saya tanpa menyegarkan halaman. Jika saya membuat permintaan ke URL, saya tidak peduli apakah itu PHP, C #, ASP.NET atau teknologi lainnya. Saya hanya ingin membuat Widget baru.
REST API memisahkan backend dari depan. Secara teknis, jika API Anda cukup baik, Anda dapat mengubah seluruh tumpukan backend Anda. Selama Anda mempertahankan struktur REST API yang sama, apa pun yang bergantung pada API tidak akan terpengaruh.
Jika REST API Anda sederhana dan cukup konsisten, menggunakan kata benda seperti Widgetskumpulan objek dan kata benda / pengenal ingin Widget/2menunjukkan entitas tunggal, sangat mudah untuk menulis API itu dalam teknologi yang sangat berbeda karena lebih atau kurang dasar pemipaan basis data kode.
Menggunakan kata kerja Permintaan HTTP Standar.
API REST memanfaatkan inti cara kerja web dan VERB (baca: tindakan) yang Anda gunakan peta untuk fungsi CRUD data standar.
CREATE : POST
READ : GET
UPDATE : PUT/PATCH
DELETE : DELETE
Ada lebih banyak kata kerja HTTP, tetapi itulah dasarnya. Setiap permintaan tunggal melalui internet menggunakan kata kerja ini. API REST berada tepat di atas model web yang dibangun berdasarkan permintaan. Tidak perlu ada lapisan komunikasi atau model abstraksi di antaranya. Itu hanya permintaan http standar ke URL dan mengembalikan respons. Anda tidak bisa menjadi lebih sederhana dari itu.
Pada dasarnya, ini membuat pengembang lebih sadar akan mur dan baut tentang bagaimana sebenarnya web bekerja dan ketika Anda semakin memahami bagaimana protokol yang mendasarinya bekerja, Anda akhirnya membuat produk yang lebih baik dan lebih efisien.