Μια καλή απόκριση σφάλματος κάνει δύο πράγματα: χρησιμοποιεί το σωστό status code HTTP (το σήμα που διαβάζεται από μηχανή), και επιστρέφει ένα συνεπές, δομημένο body πάνω στο οποίο ένας developer μπορεί να ενεργήσει. Τα ασυνεπή σχήματα σφαλμάτων είναι μία από τις μεγαλύτερες πηγές πόνου στην πλευρά του client.
Χρησιμοποιήστε ένα τυπικό φορμά σφάλματος: RFC 7807 (problem+json)
Το RFC 7807 ορίζει ένα τυπικό body "problem details" με έναν ειδικό media type, ώστε κάθε σφάλμα σε όλο το API σας να μοιάζει ίδιο:
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"
}
