Dobar error odgovor radi dvije stvari: koristi ispravan HTTP statusni kod (strojno čitljiv signal) i vraća dosljedno, strukturirano tijelo na koje programer može reagirati. Nedosljedni oblici grešaka jedan su od najvećih izvora boli na strani klijenta.
Koristite standardni format grešaka: RFC 7807 (problem+json)
RFC 7807 definira standardno "problem details" tijelo s namjenskim media typeom, pa svaka greška u vašem API-ju izgleda isto:
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"
}
