Geras error response daro du dalykus: naudoja tinkamą HTTP status code (mašinai nuskaitomą signalą) ir grąžina nuoseklų, struktūruotą kūną, į kurį kūrėjas gali reaguoti. Nenuoseklios klaidų formos yra vienas didžiausių skausmo šaltinių kliento pusėje.
Naudok standartinį klaidos formatą: RFC 7807 (problem+json)
RFC 7807 apibrėžia standartinį „problem details“ kūną su specialiu media type, todėl kiekviena klaida visoje tavo API atrodo vienodai:
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"
}
