Я использую Retrofit 2.0 в своем проекте с интерфейсом Observable и обертой результата. Метод:Как получить ответ на onError внутри Rxjava
Observable<CompanyModel> companyList(@Query("userAcc") String userAcc,
@Query("password") String password);
Код:
RetrofitHelper.getCompanyList(userName, password).subscribe(new Observer<CompanyModel>() {
@Override
public void onCompleted() {
System.out.println("Observable completed");
}
@Override
public void onError(Throwable e) {
System.out.println("Observable error");
}
@Override
public void onNext(CompanyModel companyModel) {
List<Company> company = companyModel.getCompany();
System.out.println("Observable next");
}
});
Я хочу, чтобы получить ответ, когда ошибка произошла, но OnError вернуть метательного. Как я могу получить ответ?
В модификации 1.9, то Throwable было на самом деле RetrofitError, на который вы можете получить таким Телом: '((RetrofitError) e) .getBodyAs (CompanyModel.class)'. Не уверен, как это работает с retrofit 2, но я бы начал с того, что поставил точку останова в этом 'onError' и более точно проверил, что именно находится в этом метательном – njzk2
@ njzk2. Забрасываемый может быть SocketTimeoutException, JSONException ... Вопрос в том, что Я могу получить JSONException, но я не могу получить ответ, не вижу строку возврата JSONObject, не могу получить код состояния – Even2015