Βασικές έννοιες
Μορφή σφαλμάτων
Κάθε απάντηση σφάλματος έχει την ίδια δομή, ώστε να τη χειρίζεστε με ενιαίο τρόπο.
Όταν ένα αίτημα αποτύχει, το API απαντά με τον αντίστοιχο κωδικό HTTP και σώμα αυτής της μορφής:
{
"type": "validation_error",
"errors": [
{
"code": "required",
"detail": "This field is required.",
"attr": "email"
}
]
}
Πεδία
| Πεδίο | Περιγραφή |
|---|---|
type | Η κατηγορία του σφάλματος: validation_error, client_error ή server_error. |
errors | Λίστα με ένα ή περισσότερα σφάλματα. |
errors[].code | Σταθερός κωδικός σφάλματος, π.χ. required ή not_authenticated. |
errors[].detail | Περιγραφή για ανθρώπους. |
errors[].attr | Το πεδίο του αιτήματος που προκάλεσε το σφάλμα, ή null όταν το σφάλμα αφορά όλο το αίτημα. |
Κατηγορίες
type | Πότε επιστρέφεται |
|---|---|
validation_error | Το σώμα του αιτήματος δεν πέρασε τον έλεγχο (HTTP 400). Ένα στοιχείο στο errors ανά πρόβλημα. |
client_error | Άλλο σφάλμα του αιτήματος, π.χ. χωρίς διαπιστευτήρια (401) ή πόρος που δεν υπάρχει (404). |
server_error | Σφάλμα στη μεριά της Flexy (HTTP 5xx). |
Για παράδειγμα, ένα αίτημα χωρίς token επιστρέφει:
{
"type": "client_error",
"errors": [
{
"code": "not_authenticated",
"detail": "Authentication credentials were not provided.",
"attr": null
}
]
}