Infrastruktur KONSISTEN
API REST konsisten dan dapat dibaca manusia. Ini mendokumentasikan diri.
GET wp-json/wp/v2/posts
cukup jelas apa fungsinya. Ada GET
beberapa posting.
Anda memiliki namespace:, wp
versi: v2
dan koleksi objekposts
Bisakah Anda menebak apa: GET wp-json/wp/v2/posts/5
tidak? 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 11
sesuai pesanan 345
bahkan tanpa membaca dokumentasi. Dev bahkan dapat dengan mudah mengatakan bahwa itu berasal dari shop
Plugin 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_price
atau get_lineitem_price
.
Pengembang tidak harus membuat keputusan ini, karena wp-json
api 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=Foobar
kerjanya? Nggak. Saya hanya ingin membuat yang baru Widget
dan 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 Widgets
kumpulan objek dan kata benda / pengenal ingin Widget/2
menunjukkan 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.