Utiliser les codes d'état de réponse HTTP: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html. Il existe une plage de codes de réponse 4xx-5xx, conçue pour gérer les messages d'erreur. Il gère la couche http, vous devez donc vous mettre d'accord sur l'utilisation de codes spécifiques pour des types d'erreurs spécifiques. Voir http://distilledme.wordpress.com/2010/12/22/http-status-codes-quick-reference/ pour voir comment les codes d'erreur http peuvent être appliqués à l'application REST.
En général, vous utiliserez probablement beaucoup 500 code de réponse, avec charge utile indiquant une erreur spécifique au niveau de l'application. Si vous voulez utiliser AJAX, vous pouvez incorporer le contenu dans l'objet JSON, qui a eu lieu les informations d'erreur au niveau de l'application, i.e. .:
// normal response
{'status': 'ok',
'error': null,
'response': some_response}
// error response (with 500 http code)
{ 'status': 'error',
'error_msg': 'you should enter your name',
'error': 'UserInputError'}
sur côté client, vous désérialiser JSON, vérifiez élément « statut ». Si elle est égale à 'error', prenez la valeur 'error' et voyez quelle est l'erreur spécifique (la valeur doit être convenue côté serveur et côté client) et, si nécessaire, ajoutez une description de l'erreur dans 'error_msg'. Si 'error' est nul, vous prenez l'objet 'response' et le traitez plus loin. Si vous utilisez un framework JavaScript, regardez comment vous pouvez ajouter des fonctions de rappel pour gérer les réponses serveur erronées (autre que 2xx) de manière uniforme dans les wrappers AJAX requester (par exemple, dans JQuery vous pouvez ajouter des gestionnaires globaux à AJAX événements, de sorte que vous définissez une fois, et utilisez à chaque fois: http://docs.jquery.com/Ajax_Events)