Eylemlerinizi değil, nesnelerinizi belirtmek için URL'leri kullanın:
İlk bahsettiğiniz şeyin RESTful olmadığını unutmayın:
/questions/show/<whatever>
Bunun yerine, nesnelerinizi belirtmek için URL'lerinizi kullanmalısınız:
/questions/<question>
Ardından bu kaynak üzerinde aşağıdaki işlemlerden birini gerçekleştirirsiniz.
ALMAK:
Bir kaynak elde etmek, bir kaynak listesini sorgulamak ve ayrıca bir kaynakla ilgili salt okunur bilgileri sorgulamak için kullanılır.
Bir soru kaynağı elde etmek için:
GET /questions/<question> HTTP/1.1
Host: whateverblahblah.com
Tüm soru kaynaklarını listelemek için:
GET /questions HTTP/1.1
Host: whateverblahblah.com
İLETİ:
Bir kaynak oluşturmak için kullanılır.
Aşağıdakilerin bir hata olduğunu unutmayın:
POST /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
URL henüz oluşturulmadıysa, adı belirtirken POST'u oluşturmak için kullanmamalısınız. Bu, henüz mevcut olmadığı için bir kaynak bulunamadı hatasıyla sonuçlanmalıdır. Önce kaynağı sunucuya KOYMALISINIZ. Yeni bir soru oluşturarak, ayrıca soru listesinde bir soru daha döndüreceği için / Questions kaynağını güncellediğinizi iddia edebilirsiniz.
POST kullanarak bir kaynak oluşturmak için şuna benzer bir şey yapmalısınız:
POST /questions HTTP/1.1
Host: whateverblahblah.com
Bu durumda kaynak adının belirtilmediğini, yeni nesnelerin URL yolunun size döndürüleceğini unutmayın.
SİL:
Kaynağı silmek için kullanılır.
DELETE /questions/<question> HTTP/1.1
Host: whateverblahblah.com
KOYMAK:
Kaynak URL'sini belirtirken bir kaynak oluşturmak veya üzerine yazmak için kullanılır.
Yeni bir kaynak için:
PUT /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
Mevcut bir kaynağın üzerine yazmak için:
PUT /questions/<existing_question> HTTP/1.1
Host: whateverblahblah.com
...Evet, onlar aynı. PUT genellikle 'düzenleme' yöntemi olarak tanımlanır, çünkü tüm kaynağı biraz değiştirilmiş bir sürümle değiştirerek, istemcilerin bir sonraki yaptıklarında alacaklarını düzenlediniz.
REST'i HTML formlarında kullanma:
HTML5 spektrumu tanımlar GET ve kalıp elemanının POST .
Method content özniteliği, aşağıdaki anahtar sözcükler ve durumlar ile numaralandırılmış bir özniteliktir:
- GET anahtar sözcüğü, HTTP GET yöntemini gösteren, GET durumuna eşleme.
- POST anahtar sözcüğü, HTTP POST yöntemini gösteren, POST durumuna eşleme.
Teknik olarak, HTTP spesifikasyonu sizi yalnızca bu yöntemlerle sınırlamaz. Teknik olarak istediğiniz herhangi bir yöntemi eklemekte özgürsünüz, ancak pratikte bu iyi bir fikir değil. Buradaki fikir, herkesin verileri okumak için GET'i kullandığınızı bilmesidir, bu nedenle bunun yerine OKU kullanmaya karar verirseniz, konuların kafasını karıştıracaktır. Bahsedilen...
YAMA:
Bu, resmi bir RFC'de tanımlanan bir yöntemdir. Bir kaynağa yalnızca kısmi bir değişiklik göndermek istediğinizde kullanılmak üzere tasarlanmıştır, PUT'a çok benzer:
PATCH /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
Aradaki fark, PUT'un, gerçekte değiştirilene kıyasla ne kadar büyük olursa olsun, tüm kaynağı göndermesi gerektiğidir, YAMA ise yalnızca değişiklikleri gönderebilirsiniz .