Eine gute Error-Response tut zwei Dinge: sie verwendet den richtigen HTTP-Statuscode (das maschinenlesbare Signal) und gibt einen konsistenten, strukturierten Body zurück, mit dem ein Entwickler etwas anfangen kann. Inkonsistente Error-Formen sind eine der größten Quellen für clientseitigen Schmerz.
Verwende ein Standard-Error-Format: RFC 7807 (problem+json)
RFC 7807 definiert einen Standard-"Problem Details"-Body mit einem dedizierten Media-Type, sodass jeder Fehler in deiner API gleich aussieht:
HTTP/1.1 404 Not Found
Content-Type: application/problem+json
{
"type": "https://api.example.com/errors/not-found",
"title": "Resource not found",
"status": 404,
"detail": "No user exists with id 999",
"instance": "/users/999"
}
