SORU
7 Ocak 2010, PERŞEMBE


REST apı sürüm (yalnızca sürüm gösterimi, kaynağın kendisi değil)

Sürüm parçası yine de daha spesifik bir örnek ile soruyu duyuyorum Best practices for API versioning?, baktım ama cevaptan çok emin değilim. İki URI (URI bir parçası olarak sürüm) yaşıyorum:

http://xxxx/v1/user/123    -> favored solution in discussed thread
http://xxxx/user/123             

İlk bağlantıyı DİNLENME fikrini ifade edip şüphelerim yaşıyorum. http://xxxx/v1/user/123 http://xxxx/v2/user/123 Bir gün gibi apı sürümü bir daha olmayacağını da anlaşılacağı gibi kafa karıştırıcı buluyorum. Ama bu DİNLENME açısından mantıklı değil, HTTP 1.0 ya zaten HTTP isteği içinde gönderilen 1.1, kendisi apı sürümü. Bu DİNLENME kaynak merkezli görünüm farklı apı arabirimleri SABUN ya da Java arayüzleri ortak nitelikli adları apı sürümleri için olduğu gibi çok başka.

Sürüm anlamının olduğu tek şey İSTİRAHAT kaynak gösterimi (örneğin yeni alanlar eklendi veya kaldırıldı). Bu sürüm içeriği anlaşma parçası gibi ait:

http://xxx/user/123   HTTP 'Accept' Header -> Content negotation through header
http://xxx/user/123?v=1                    -> for perma-links/hyperlinks

Bir de savunuyorlar bu sürüm içeriği anlaşma olabilir parçası URI içindeki yol, ama bu mantıksız, çünkü sen-ebil sonuna kadar farklı URI için aynı kaynak ve korumak yönlendirir bir noktada.

URI apı-sürüm, kaynak gösterimi sürüm sadece yok İçinde yatsın.-özetle: Temsil sürüm-bilgi içerik-müzakere ait (queryParam ya da HTTP '') Kabul.

Ne düşünüyorsun? Hangi şeylere katılıyorum/katılmıyorum misin?

CEVAP
8 Ocak 2010, Cuma


Ben tamamen; kimlik, kimlik ifade eden bir URI yeni bir sürümü çıktığında değiştirmez katılıyorum. Elbette ek kavramlar için yeni URI olabilir, ve mevcut Kodu yeniden yönlendirmek olabilir. ama bir "v2 URI kokuyor" bana RPCish dahil.

Bu hiçbir DİNLENME bir bakış açısıyla sadece karakterlerin hepsi KALANI ile, gerçekten yapmak zorunda olduğunu unutmayın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007