Ich suche nach Anleitungen zu bewährten Methoden, wenn es darum geht, Fehler von einer REST-API zurückzugeben. Ich arbeite an einer neuen API, damit ich jetzt in jede Richtung gehen kann. Mein Inhaltstyp ist derzeit XML, aber ich plane, JSON in Zukunft zu unterstützen.
Ich füge jetzt einige Fehlerfälle hinzu, z. B. versucht ein Client, eine neue Ressource hinzuzufügen, hat jedoch sein Speicherkontingent überschritten. Ich behandle bereits bestimmte Fehlerfälle mit HTTP-Statuscodes (401 für die Authentifizierung, 403 für die Autorisierung und 404 für einfache URIs für fehlerhafte Anforderungen). Ich habe mir die gesegneten HTTP-Fehlercodes angesehen, aber keiner der Bereiche 400-417 scheint richtig zu sein, um anwendungsspezifische Fehler zu melden. Zuerst war ich versucht, meinen Anwendungsfehler mit 200 OK und einer bestimmten XML-Nutzlast zurückzugeben (dh zahlen Sie uns mehr und Sie erhalten den Speicher, den Sie benötigen!), Aber ich habe aufgehört, darüber nachzudenken, und es scheint zu seifen (/ Achselzucken vor Entsetzen). Außerdem scheint es, als würde ich die Fehlerantworten in verschiedene Fälle aufteilen, da einige vom http-Statuscode und andere vom Inhalt abhängen.
Was sind die Empfehlungen der Branche? Gute Praktiken (bitte erklären Sie warum!) Und aus Sicht eines Client-POV, welche Art der Fehlerbehandlung in der REST-API erleichtert dem Client-Code das Leben?