SORU
10 Mart 2009, Salı


DİNLENME vs POST KOY

Bu göre HTTP/1.1 Spec:

POSTyöntem kaynak sunucu varlık kaynağın yeni bir alt Request-Line Request-URI belirlediği isteği içine kabul istemek için kullanılır

Diğer bir deyişle, POST için kullanılıroluşturun.

PUTkapalı bir varlık altında saklanan bu yöntem istekleri Request-URI verilir. Eğer Request-URI zaten varolan bir kaynağa başvuruyorsa, kapalı bir varlık bir kaynak sunucu üzerinde bulunan modifiye edilmiş bir versiyonu olarak kabul EDİLMELİDİR. Eğer Request-URI değil noktasına varolan bir kaynak, ve bu URI yeteneğine sahip olmak olarak tanımlanan yeni bir kaynak tarafından talep kullanıcı ajan, kaynak sunucu oluşturabilir kaynak bu URI."

Bu için kullanılır, PUToluşturun veya güncelleyin.

Hangisi bir kaynak oluşturmak için kullanılır? Veya her ikisini de desteklemek için bir ihtiyaç mı?

CEVAP
10 Mart 2009, Salı


Genel:

Her iki KOYMAK ve YAZI oluşturmak için kullanılabilir.

Sormak "eylemini gerçekleştirme nedir ayırt etmek" kullanarak ne olmalıdır.? Hadi soruları sormak için bir API tasarladığını varsayalım. Eğer POST sonra kullanmak istediğiniz soruların bir listesini yapmak. Eğer o zaman kullanmak istiyorsanız, belirli bir soru için bunu yapar mısın.

Harika ikisi de kullanılabilir, hangisi Dinlendirici tasarımımda kullanmak gerekir:

Her iki KOY ve SONRASI destek gerekmez.

Kullanılan size kalmış bırakılır. Ama sadece bir istek olarak başvuran nesne ne bağlı olarak kullanmayı unutmayın.

Bazı önemli noktalar:

  • URL nesneleri adı açıkça veya server karar versin oluşturmak mı? Eğer onları adı o zaman kullanın. Eğer sunucu karar verirsen sonra kaydedersiniz.
  • KOY idempotent, eğer bir nesne iki kez koyarsanız, hiçbir etkisi yoktur. Bu güzel bir özellik, mümkün olduğunda kullanın.
  • Ya da aynı nesne URL ile birlikte bir kaynak güncelleme oluşturabilirsiniz
  • YAZI ile 2 istekleri aynı zamanda bir URL için bir değişiklik yapmadan geliyor olabilir, ve nesnenin farklı bölgelerinde güncelleme olabilir.

Bir örnek:

21**:

MESAJ:

Ve kaynağı değiştir güncellemek için kullanılır

POST /questions/<existing_question> HTTP/1.1
Host: wahteverblahblah.com

Aşağıda bir hata olduğunu unutmayın:

POST /questions/<new_question> HTTP/1.1
Host: wahteverblahblah.com

Eğer URL henüz oluşturulursa, YAZI oluşturmak için kullanılmamalı adı belirlerken. Bu olmalı bir 'kaynak' bulunamadı hatası sonucu <new_question> yok çünkü henüz. <new_question>koymalısın sunucu üzerinde kaynak ilk.

Gerçi bir şey gibi yapabilirsin bu kaynakları kullanarak bir posta oluşturmak için:

POST /questions HTTP/1.1
Host: wahteverblahblah.com

Bu durumda kaynak unutmayın adı, yeni nesneleri belirtilmemiş URL yolu size iade olur.

KOYUN:

Bir kaynak oluşturmak için, ya da kullanılan bunun üzerine. Belirttiğiniz süre kaynaklar, yeni URL.

Yeni bir kaynak için:

PUT /questions/<new_question> HTTP/1.1
Host: wahteverblahblah.com

Varolan bir kaynağı üzerine:

PUT /questions/<existing_question> HTTP/1.1
Host: wahteverblahblah.com

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Official Clouds

    Official Clo

    1 HAZİRAN 2011
  • RickardRick

    RickardRick

    9 Mart 2007
  • Xbox

    Xbox

    1 Kasım 2005