SORU
3 HAZİRAN 2009, ÇARŞAMBA


DİNLENME hata iyi uygulamaların dönüş API

Bir diğerlerinden hataları API geri geldiğinde iyi uygulamalar konusunda rehberlik arıyorum. Herhangi bir yöne doğru şimdi de yeni bir API üzerinde çalışıyorum. İçerik tipim şu anda XML, ancak gelecekte JSON desteği planlıyorum.

Şimdi bazı hata durumlarda ekliyorum, örneğin, bir müşteri, yeni bir kaynak eklemek için çalışır ama depolama kotasını aşmış gibi. Zaten HTTP durum kodları (düz hatalı istek URI için, 403 yetkilendirme için kimlik doğrulama ve 404 401) ile belirli hata durumları idare ediyorum. Üzerinde kutsal HTTP hata kodlarına baktım ama 400-417 aralığı hiçbiri uygulama belirli hataları bildirmek için doğru görünüyor. Benim ilk uygulama dönmek için cazip oldu yani 200 ile hata OK ve belirli bir XML yükü (yani. Bize daha çok para ve ihtiyacınız olan depolama alırsınız!) ama bunu düşünmek için durdum ve sabunlu (/korku içinde silkmek) gibi görünüyor. Farklı durumlarda, bir hata yanıtları yarma gibiyim ayrıca bazı olarak http durum tahrik ve diğer kod içerik sürülür.

ÇOK kalabalık önerisi nedir? İyi uygulamalar (neden açıklayın lütfen!) ve aynı zamanda, yaşam istemci kodu için daha kolay kılan bir istemci düz?

CEVAP
3 HAZİRAN 2009, ÇARŞAMBA


Benim ilk uygulama dönmek için cazip oldu yani 200 ile hata OK ve belirli bir XML yükü (yani. Bize daha çok para ve ihtiyacınız olan depolama alırsınız!) ama bunu düşünmek için durdum ve sabunlu (/korku içinde silkmek) gibi görünüyor.

Gerçekten isteği ile yanlış bir şey olmadığı sürece bir 200 dönmeyeceğimi. ** 0, 200 "isteği başarılı oldu." anlamına gelir

Eğer müşterinin depolama kotası (sebebi ne olursa olsun) aşıldı, bir 403 (Yasak) dönmek istiyorum:

Sunucu isteği kabul etmiştir, ancak yerine getirmek için reddediyor. Yetkilendirme isteği tekrarlanmamalı yardımcı olmaz. İstek yöntemi HEAD) sunucu isteği kabul edilmemiştir neden ortak yapmak istiyorsa, varlık içinde reddetme nedeni tanımlamak GEREKİR. Eğer sunucu bu Bilgi istemci için kullanılabilir yapmak istiyor mu yoksa, durum kodu 404 (Bulunamadı) yerine kullanılabilir.

Bu isteği iyiydi, ama başarısız olan istemci (200 yapmaz bir şey) söyler. Bu da sorunu (ve Çözümü) yanıt gövdesinde açıklamak için bir fırsat verir.

Belirli hata durumları diğer aklında ne var?

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DrakeVEVO

    DrakeVEVO

    17 AĞUSTOS 2009
  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • SuperPrincessjo

    SuperPrinces

    1 EKİM 2010