Une bonne réponse d'erreur fait deux choses : elle utilise le bon status code HTTP (le signal lisible par machine), et elle retourne un body cohérent et structuré sur lequel un développeur peut agir. Des formes d'erreur incohérentes sont l'une des plus grandes sources de douleur côté client.
Utilisez un format d'erreur standard : RFC 7807 (problem+json)
La RFC 7807 définit un body standard de « problem details » avec un media type dédié, de sorte que chaque erreur de votre API a la même apparence :
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"
}
