errores de control sobre las llamadas de retrofit como (404)

votos
0

Quiero obtener el código HttpResponse y controlar los errores para mostrarlos al usuario.

Tengo mi solicitud de adaptación estática:

    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;
        }

Y observable que toma el pedido me devuelve un observables:

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;
    }

Veo que puedo obtener el error de la onError, pero veo que puedo tener una clase para obtener todos los errores de tipo.

Publicado el 09/10/2019 a las 18:52
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more