Я хочу получить код HttpResponse и контролировать ошибки для их отображения пользователю.
У меня есть статический запрос на модификацию:
public class NetworkClient {
//KEY: f663e4c56cc039c837109c82c78bbd69
public static Retrofit getRetrofit(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.themoviedb.org/3/")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
// .client(OkHttpClient())
.build();
return retrofit;
}
И наблюдаемый, который принимает запрос, возвращаетя наблюдаемый:
public Observer<Response> getObserver(){
Observer<Response> response = new Observer<Response>() {
@Override
public void onSubscribe(Disposable d) {
Log.d("test", "onSubscribe");
}
@Override
public void onNext(Response response) {
Log.d("test", "onNext");
fragmentInterface.showMovies(response);
}
@Override
public void onError(Throwable e) {
Log.d("test", "onError");
e.printStackTrace();
if(e instanceof HttpException){
int errorCode = ((HttpException) e).response().code();
}
}
@Override
public void onComplete() {
Log.d("test", "onComplete");
}
};
return response;
}
Я вижу, что могу получить ошибку от onError, но я вижу, что у меня может быть класс для получения всех ошибок типа.