Se la risposta è positiva, non includere error
nella risposta. Esempio:
GET /product/15406/
200 OK
{
"id": 15406,
"name": "A cookie with pieces of chocolate",
"price": 1.45,
"is-available": true
}
D'altra parte, un errore sarebbe simile a:
GET /product/nan/
403 Forbidden
{
"error": 5020,
"error-message": "The specified product identifier cannot be converted to a number."
}
Note:
-
Modificare il codice di stato HTTP in caso di errore. Restituire 200 OK quando qualcosa è andato storto è stupido.
-
Non includere i campi di errore nella risposta positiva. Perchè vorresti? Non stai includendo price
o is-available
nella risposta errata, vero?
-
Usa le stringhe per testo e numeri per i numeri. Il tuo "error_code": "XXX"
sembra che tu stia mettendo un numero come codice di errore, ma lo passi come una stringa. Se è un numero, dovrebbe rimanere un numero nella risposta. Si noti che l'utilizzo di stringhe come codici di errore può essere una buona soluzione: l'errore 5020 non è estremamente esplicito; errore "InvalidProductIdentifier" è.