SABİT Altyapı
REST API tutarlı ve insan tarafından okunabilir. Kendi kendini belgeliyor.
GET wp-json/wp/v2/posts
ne yaptığı oldukça açıktır. Bu GET
bazı mesajları s.
Bir ad alanınız wp
, bir sürümünüz v2
ve bir nesne koleksiyonunuz varposts
Ne olduğunu tahmin edebiliyor musunuz GET wp-json/wp/v2/posts/5
? Nasıl olur: GET wp-json/wp/v2/posts/5/comments
Nasıl olur:GET wp-json/shop/v2/orders/345/lines/11/price
Bir geliştirici buna bakarak kolayca tahmin edebilir , dokümantasyonu okumadan bile 11
siparişin satır fiyatını alacaktır 345
. Geliştirici shop
, ad alanı olarak Eklenti'den geldiğini bile kolayca söyleyebilir .
Peki ya POST /wp-json/v2/posts title=New Blog Post
nasıl?PUT /wp-json/v2/posts title=New Title
Bu da oldukça açık. Yeni bir gönderi yapar. Bu arada, yeni gönderinin kimliğini döndürür. AJAX VEYA REST API ile ilgili değil. AJAX, REST API'sine erişen bir teknolojidir . Oysa, daha önce, aşağıdaki gibi bir sürü soyut ajax fonksiyon ismi bulmalısınız
get_price_for_lineitem( $order, $line )
. Bu sadece bir sayı mı yoksa bir JSON nesnesi mi döndürecek? Emin değilim, belgeler nerede. Ah ... ajax çağrısıydı get_order_line_price
ya get_lineitem_price
.
Geliştiricinin bu kararları vermesi gerekmez, çünkü mevcut wp-json
API kendi uç noktalarınızı oluştururken izlenecek iyi bir temel model sağlar. Elbette, bir eklenti veya api geliştiricisi bu kuralları ihlal edebilir, ancak genel olarak önceden ayarlanmış bir standardı takip etmek daha kolaydır ve çoğu geliştirici zaten ayarlanmış bir deseni takip etmeyi tercih eder (şimdi yaygın jQuery modellerinin ne kadar olduğuna bakın).
Dikkat dağıtmadan soyutlama
Nasıl POST /wp-json/mysite/v1/widgets title=Foobar
çalıştığı umurumda mı? Hayır! Sadece yeni bir tane oluşturmak istiyorum Widget
ve bunun karşılığında kimliği istiyorum. Sayfayı yenilemeden ön ucumdaki bir formdan yapmak istiyorum. Bir URL için istekte bulunursam, PHP, C #, ASP.NET veya başka bir teknoloji olup olmadığı umurumda değil. Sadece yeni bir Widget oluşturmak istiyorum.
REST API, arka ucu önden ayırır. Teknik olarak, API'niz yeterince iyiyse, tüm arka uç yığınınızı değiştirebilirsiniz. Aynı REST API yapısını koruduğunuz sürece, API'ya bağlı olan hiçbir şey etkilenmez.
REST API'niz yeterince basit ve tutarlıysa, bir Widgets
nesne koleksiyonu gibi bir isim ve Widget/2
tek bir varlığı belirtmek gibi bir isim / tanımlayıcı kullanarak, bu API'yı aşağı yukarı temel veritabanı tesisatından dolayı çok farklı bir teknolojiye yazmak gerçekten basittir kodu.
Standart HTTP İsteği fiillerini kullanır.
REST API'leri, web'in nasıl çalıştığından ve standart veri CRUD işlevlerine eşleme kullandığınız VERB'lerden (read: action) yararlanır.
CREATE : POST
READ : GET
UPDATE : PUT/PATCH
DELETE : DELETE
Daha fazla HTTP fiili var, ancak bunlar temeller. İnternet üzerinden yapılan her talep bu fiilleri kullanır. Bir REST API'si, web'in istek üzerine oluşturulduğu modelin hemen üstünde yer alır. Arada herhangi bir iletişim katmanına veya soyutlama modeline gerek yoktur. Bu yalnızca bir URL'ye yönelik standart bir http isteğidir ve bir yanıt döndürür. Bundan daha basit olamazsınız.
Temel olarak, bir geliştiricinin web'in gerçekte nasıl çalıştığının somun ve cıvatalarından daha fazla haberdar olmasını sağlar ve temel protokollerin nasıl çalıştığını anlamaya yaklaştığınızda, daha verimli ve daha iyi bir ürün elde edersiniz.