java - Android Retrofit with Rx 获取其他 http 代码

标签 java android retrofit

我想通过 retrofit rx 获取相同的其他 http 代码数据 400 、 401 和其他数据 这是我的代码

@GET("sample")
Observable<String> getSample();

&

public Observable<String> getSample() {
    return Domain.getApiClient(Tags.WRITHE_URL).getSample()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .unsubscribeOn(Schedulers.io());
}

&

   new AppStore().getSample().subscribe(new DisposableObserver<String>() {
                @Override
                public void onNext(String value) {

                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onComplete() {

                }
            });

当http代码200时我可以在下一个中使用数据 和其他http代码调用错误 在 onError 中我没有服务器的访问数据 当http代码不是200时我应该怎么做才能获取数据?

最佳答案

非 200 响应信息包含在传递给 onError 的异常中:

  public void onError(Throwable e){
        HttpException error = (HttpException)e; //you can use the instanceof check
        int errorCode = error.response().code();
        String errorBody = error.response().errorBody().string();
 }

关于java - Android Retrofit with Rx 获取其他 http 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907632/

相关文章:

java - 将 double 值与 double 常数进行比较

Android : What is the difference between View. 膨胀和 getLayoutInflater().膨胀?

android - 改造通用服务接口(interface)

android - 为什么我无法在我的 Android 应用程序中使用 Retrofit 在 POST 请求中成功发送 JSON

java - servlet 在 servlet 上下文中存储列表

java - 如何在 Quartz Scheduler(简单触发器)中包含 endTime 属性?

java - 使用图像作为占位符的 Canvas 绘图

android - 在 Kivy 中处理 Android 上的应用暂停/恢复

java - 自动回复广播接收器收到的消息

android - Retrofit - 网络调用导致应用程序挂起