首页 > 解决方案 > 控制改造调用的错误,如 (404)

问题描述

我想获取 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;
        }

接受请求的 observable 向我返回一个 observable:

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 中得到错误,但我看到我可以有一个类来获取所有类型错误。

标签: javaandroidretrofitretrofit2rx-java2

解决方案


推荐阅读