zhou-you / RxEasyHttp

本库是一款基于RxJava2+Retrofit2实现简单易用的网络请求框架,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载进度显示,请求错误自动重试,请求携带token、时间戳、签名sign动态配置,自动登录成功后请求重发功能,3种层次的参数设置默认全局局部,默认标准ApiResult同时可以支持自定义的数据结构,已经能满足现在的大部分网络请求。
Apache License 2.0
3.13k stars 616 forks source link

约定异常 Error与后台返回特殊状态码冲突了,请求指点 #175

Closed wongyue closed 4 years ago

wongyue commented 5 years ago
 /**
     * 约定异常
     */
    public static class ERROR { 
       public static final int UNKNOWN = 1000;
    }

1000 - 1004 这几个值后台返回的有对应情况,和这个约定的错误状态码冲突,整个网络请求基本用的这个库,有没啥好的思路,望指点指点

zhou-you commented 5 years ago

你可以通过错误里面ApiException异常类型来判断是我本地的 还是来自服务器的 例如:.execute(new SimpleCallBack() { @Override public void onError(ApiException e) { if(e instanceof ServerException ||e instanceof HttpException){ //说明是来自服务器 不是本地的异常 }

                    showToast(e.getMessage());
                }

                @Override
                public void onSuccess(String response) {
                    showToast(response);
                }
            });
wongyue commented 5 years ago

好滴 ,试了一下,

    public void onError(ApiException e) {
                        super.onError(e);
                        if (e instanceof ServerException || e instanceof HttpException)
                      ApplicationUtils.DealHttpException(e, mActivity, null);
                    }

这个if 判断的时候 会提示类转换异常,(╯﹏╰)