Lesen Sie die HTTP-Spezifikation für jeden Antwortcode, um Informationen darüber zu erhalten, was im Antworttext zurückgegeben werden soll. 4xx sagt zum Beispiel "Außer wenn auf eine HEAD-Anfrage reagiert wird, SOLLTE der Server eine Repräsentation enthalten, die eine Erklärung der Fehlersituation enthält, und ob es sich um eine temporäre oder permanente Bedingung handelt."
Der wichtigste Punkt, den Sie beachten sollten, ist, dass die HTTP-Antwortcodes einheitlich gestaltet sind und daher viel mehr mit der Förderung der Interoperabilität zu tun haben als die detaillierten Anforderungen einzelner Anwendungen. Verwenden Sie den Antworttext, nicht den Code, um winzige Details in einem Format darzustellen, das von Ihren Kunden erwartet wird.
1 Felder vorgelegt in die falsche Richtung (URL-Parameter vs Körper) oder fehlende Felder
Return "404 Not Found". Querystring-Parameter sind Teil des URI und dienen zur Identifizierung einer Ressource./foo/bar?a=1&b=2
identifiziert eine andere Ressource als foo/bar
. Wenn die Ressource nicht vorhanden ist, geben Sie 404 zurück. Es spielt keine Rolle, dass die gleiche Logik in Ihrem Code verwendet wird, um Querystring-Parameter für denselben Pfad zu behandeln: Diese Details sind absichtlich hinter der einheitlichen Schnittstelle verborgen. Weitere Informationen finden Sie unter the URI spec.
2 Felder ungültige Werte erhalten (string anstelle von Zahlen, Zeitstempel in Zukunft)
400 ist am besten hier, es sei denn, die Ressource in einem Zustand, der mit der Bitte, die vernünftigerweise der Benutzer in Konflikt ist sein könnte lösen kann, in welchem Fall Rückkehr 409.
3 einige Zeichen wie?,/Pause Sachen in der URL-Parameter
012 (die Anfrage und dann erneut einreichen)
Wenn dieser Fehler darauf zurückzuführen ist, dass Ihr Server reservierte Zeichen in der querystring-Komponente nicht korrekt verarbeitet, geben Sie 500 zurück. Wenn der Client einen ungültigen Request-URI gesendet hat, geben Sie 400 zurück. Wenn der URI eine Ressource identifiziert, die der Server nicht verarbeitet, kehren Sie zurück 404.
4 Tatsächliche Ausfälle: ungültige Anmeldeinformationen, Wiederholung bereits getan Aktion
ungültige Anmeldeinformationen sollten in "401 Unauthorized" zur Folge haben. Das Wiederholen einer Aktion, die bereits ausgeführt wurde, sollte 200 OK ergeben (oder eine Weiterleitung usw.), wenn die Anfrage-Methode idempotent (GET, HEAD, PUT, DELETE) ist. Beim POST hängt das Wiederholen einer Aktion vollständig von der Art der Aktion ab, und es kann praktisch jeder Statuscode zurückgegeben werden. 400/409 ist üblich, aber viele solcher Ressourcen führen einfach die Aktion erneut aus, was oft wünschenswert ist.
+1. Ein 404 für seltsame URLs klingt sinnvoll. – ArjunShankar