Een goede error-response doet twee dingen: hij gebruikt de juiste HTTP-statuscode (het machineleesbare signaal), en hij retourneert een consistente, gestructureerde body waar een ontwikkelaar mee aan de slag kan. Inconsistente error-vormen zijn een van de grootste bronnen van pijn aan clientzijde.
Gebruik een standaard error-formaat: RFC 7807 (problem+json)
RFC 7807 definieert een standaard "problem details"-body met een eigen media type, zodat elke error in je hele API er hetzelfde uitziet:
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"
}
