Ich entwerfe eine RESTful-API und frage mich, welches das beste Format für Validierungsfehlermeldungen ist.Validierungsfehlerantworten in der REST-API
Zum Beispiel akzeptiert meine Kontoerstellung Endpunkt ein JSON-Objekt:
{
code: 400, // HTTP code
message: "Validation failed", // general message
type: "validation_failed", // there are other types of errors as well
errors: WHAT_DO_I_SHOW_HERE
}
Ich habe mehrere Möglichkeiten für die Validierung Fehlermeldungen:
user: {
first_name: string,
last_name: string,
address: {
street: string,
city: string,
zip_code: string
}
}
Meine Antworten in folgendem Format sein werden
Format 1
errors: {
last_name: "First name is required",
address: {
zip_code: "ZIP code is invalid"
}
}
oder die Fehler abzuflachen, wie in Format 2
errors: {
last_name: "First name is required",
"address.city": "City is required",
"address.zip_code": "ZIP code is invalid"
}
oder ein Array verwenden, wobei jedes Element kann Feldnamen, Fehlercode, Fehlermeldung, verschachtelte Fehler usw.
errors: [
{
field: "first_name",
message: "First name is required",
},
{
field: "address",
errors: [
{
field: "zip_code",
message: "ZIP code is invalid"
}
]
}
]
oder
errors: [
{
field: "first_name",
message: "First name is required",
},
{
field: "address.zip_code",
message: "ZIP code is invalid"
}
]
Anscheinend ist der Array-Format ist flexibler, da Feldnamen optional ist, so kann es Fehler in einer Kombination von mehreren fiel bezogen zubringen ds (z.B. muss die Endzeit eines Zeitintervalls nach der Anfangszeit liegen). Aber meine Frage ist, welche wäre für API-Nutzer einfacher zu konsumieren?