(üzgünüm, benim ilk kez / edit / ve / delete / in (2) özledim ...)
URI'nin fikri, bir yöntem çağrısı yerine, adreslenebilir bir kaynağın bir tanımlayıcısı olmasıdır . Bu nedenle, URI belirli bir kaynağa işaret etmelidir. Ve eğer URI'yi göz ardı ederseniz, her zaman aynı kaynağı edinmelisiniz.
Yani, URI'leri bir veritabanındaki satırın Birincil Anahtarını düşündüğünüz gibi düşünmelisiniz. Benzersiz bir şeyi tanımlar: Evrensel Kaynak Tanımlayıcısı.
Dolayısıyla, çoğul veya tekil kullanıyor olsanız da, URI, bir çağrıdan ziyade bir tanımlayıcı olmalıdır . Ne çalışıyoruz yapmak yönteminde gider, yani: GET (get), PUT (oluşturun / güncelleme), SİL (silme) veya POST (her şey).
Bu nedenle, "/ item / delete / 123" bir kaynağa işaret etmediği için REST'i keser, daha çok bir yöntem çağrısıdır.
(Ayrıca, yalnızca anlamsal olarak, bir URI GET yapabilmeli, eski olduğuna karar vermeli ve daha sonra aynı URI'yi SİLMELİSİNİZ olmalıdır - çünkü bu bir tanımlayıcıdır. o zaman bu HTTP anlambilimine aykırıdır. Kaynak başına 1 veya daha fazla URI yayınlıyorsunuz.)
Şimdi, hile şudur: Bir kaynağın ne olduğu ve kaynak olmadığı konusunda net bir tanım yoktur, bu nedenle REST'teki ortak nokta bir "işlem ismi" tanımlamak ve URI'yi buna işaret etmektir. Bu hemen hemen bir kelime oyunu, ancak anlambilimine uygundur.
Yani, örneğin, bir nedenden dolayı bunu gerçekten kullanamazsanız:
DELETE /items/123
Dünyaya bir “temsilci” işleme kaynağınız olduğunu ve kullanabileceğinizi beyan edebilir
POST /items/deletor { id: 123 }
Şimdi, bu RPC'ye (Uzaktan Prosedür Çağrısı) çok benziyor, ancak POST şartnamesinin "veri işleme" yan tümcesinde, HTTP belirtiminde belirtilen büyük boşluktan düşüyor.
Ancak, bunu yaparken tür istisnai bir olduğunu ve eğer olabilir ekleme yapılması için ortak silme için SİL, / güncelleme oluşturmak için PUT ve POST kullanın, oluşturma ve her şey, o zaman gerekir , HTTP daha standart kullanım olduğu için. Ancak "taahhüt etmek" veya "yayınlamak" veya "geri çevirmek" gibi zor bir durumunuz varsa, bir işlemci adının kullanılması durumu REST uzmanlarına cevap verir ve hala ihtiyacınız olan semantikleri verir.
PUT
veDELETE
ben bir sorgu dizesi ile farklılaştırarak, yola öyle değil ekleyerek yana olacaktır. Mevcut bir işlem için bir sorgu dizesi değişikliği değil; bu ayrı bir operasyon.