REST Api Я работаю с пользовательскими кодами и сообщениями, которые отправляются с сервера в зависимости от состояния, я хотел бы реализовать пользовательский Callback<T>
, который вызывает метод success
, только если код состояния был 0.Пользовательская обработка ошибок с помощью дооснащения
Пример УСПЕХ Ответ получен с сервера:
{
"code":"0",
"message":"success",
"data": {
"actual_data":"goes_here",
"need_to_construct_objects","from_data"
}
}
Пример FAILURE Response:
{
"code":"301",
"message":"wrong_password",
"data": {
"actual_data":"will_be_null",
"no_need_to_construct_objects","from_data"
}
}
code
и message
возвращаются все запросы, то data
содержит фактические значения отклика, так что я хотел бы сделать следующее:
- Проверьте сообщение на код и и вызывать только
success()
если код равен 0. - Звоните
failure()
если запрос не выполнен или код! = 0 - Построить пользовательские объекты, основанные на данных ответа и передать их через
success()
Что такое лучший способ сделать это? Я искал везде и не мог найти хорошего решения. Единственное, что я получил, это позволить всем пользовательским объектам иметь поля code
и message
и проверить их значения внутри success()
, но это может привести к проблемам в будущем, если кто-то забудет проверить code
перед продолжением.
На самом деле Retrofit предоставляет возможность создания собственного обработчика ошибок! – Pavlos
Не могли бы вы дать мне несколько указателей или где искать образец? – Nima
http://square.github.io/retrofit/ «ОБРАБОТКА ТАМОЖЕННОЙ ОШИБКИ» – Pavlos