Приветствую. Я возвращаю ошибки в своём API в таком формате:
{
"error" : {
"error_code" : 1,
"error_details" : { ... }
}
}
Ну и возвращается соответствующий HTTP код ошибки. Содержимое error_details варьируется в зависимости от метода API и ошибки. Например, при ошибке валидации поле error_details будет содержать что-то в этом роде:
{
"count" => "The count field must be an integer."
}
Это вообще как, нормальный подход?
Главный вопрос в том, как именно и где возвращать ошибки? То есть я, конечно, могу вручную делать return в каждом методе своего API, но это не выглядит правильным, к тому же если структура изменится, мне придется менять весь свой код. Может стоит использовать обработчик исключений? В общем хотелось бы услышать ваши советы и опыт по этой теме.