Какова наилучшая практика отправки ответов об ошибках в веб-службе JSON? Я видел, как это было сделано несколькими способами, и хотел узнать, существуют ли согласованные стандарты или лучшие практики среди вариантов.
Я видел, как это произошло, когда ответ содержит указание об успехе или неудаче, а также возвращаемые данные или подходящее сообщение об ошибке, например
[{'success':true, 'data':{...}]
[{'success':false, 'data':{'message':'error'}]
Но я также видел примеры, в которых объект JSON включает только данные, а служба использует обычные коды ошибок HTTP для указания проблемы (403, 404, 500 и т.д.). (Вот как это делает API Twitter).
Есть ли "правильный" способ сделать это, или это просто вопрос стиля? Является ли последний метод более "RESTful?"