2008-11-20 9 views
5

Lors de la création de services Web REST dans .NET, ce qui est la façon la plus "RESTful" de la cartographie System.ArgumentNullException et System.ArgumentException aux codes d'état HTTP? Ma première supposition serait d'utiliser HTTP 400/Bad Request avec une description appropriée.

Quelle est la meilleure pratique recommandée lors du mappage des exceptions aux codes d'état HTTP?exceptions de mappage des codes d'état HTTP dans les services Web REST

Répondre

8

En général, les codes d'état 4xx indiquent au client que la demande a échoué, mais peut réussir si la demande i smodified. Les codes 5xx informent le client sur les problèmes où le client n'a aucune influence. Donc, la première distinction que vous devez faire est entre les codes 4xx et 5xx, c'est-à-dire dire au client s'il doit réessayer ou non.

HTTP 400 "Requête incorrecte" doit être utilisée si la requête est effectivement syntaxiquement incorrecte, incomplète, contradictoire ou erronée. De plus, il peut s'agir d'un statut par défaut valide dans la plage 4xx, si aucun autre statut ne vous semble approprié et que vous pensez que le client n'a besoin que de modifier la requête pour réussir.

+0

Du point de vue du serveur d'adressage du CLIENT: * 4xx: Quelque chose ne va pas sur * votre côté *, s'il vous plaît reformuler votre question et essayer à nouveau * 5xx: Quelque chose a mal tourné sur * notre côté *, désolé , si vous pouvez simplement répéter ce que vous venez de dire ..? – conny

1

Cela dépend du contexte. Par exemple. une exception ArgumentNullException peut provenir d'une condition préalable violée ou être une erreur interne du serveur.

Cordialement, Tamberg

Questions connexes