Dobra odpowiedź błędu robi dwie rzeczy: używa właściwego kodu statusu HTTP (sygnału odczytywalnego maszynowo) i zwraca spójne, ustrukturyzowane ciało, na które programista może zareagować. Niespójne kształty błędów to jedno z największych źródeł bólu po stronie klienta.
Używaj standardowego formatu błędu: RFC 7807 (problem+json)
RFC 7807 definiuje standardowe ciało „problem details" z dedykowanym media type, więc każdy błąd w Twoim API wygląda tak samo:
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"
}
