Rxjava + Retrofit 错误拦截
Rxjava + Retrofit 错误拦截RetrofitOkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {@Overridepublic R
·
Rxjava + Retrofit 错误拦截
Retrofit
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request()
.newBuilder()
.addHeader("GxToken+", SharedPreferencesUtils.getParam(mContext, Constant.SP.GxToken, "").toString() + "+")
.addHeader("uid", SharedPreferencesUtils.getParam(mContext, Constant.SP.uid, "").toString())
.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
.addHeader("Accept-Encoding", "gzip, deflate")
.addHeader("Connection", "keep-alive")
.addHeader("Accept", "*/*")
.addHeader("Cookie", TextUtils.isEmpty(JSESSIONID) ? SharedPreferencesUtils.getParam(mContext, Constant.SP.JSESSIONID, "").toString() : "JSESSIONID=" + JSESSIONID)
.build();
Response response = chain.proceed(request);
if (response.code() != 200) {
return new Response.Builder()
.code(200)
.body(ResponseBody.create(response.body().contentType(), "服务器错误!"))
.request(request)
.protocol(Protocol.HTTP_1_0)
.build();
}
return response;
// Response response = chain.proceed(request);
// Test.log("网络请求",response.body().string());
// //8
// return response;0
}
})
.addInterceptor(interceptor)
.retryOnConnectionFailure(true)
.connectTimeout(10, TimeUnit.SECONDS)
.build();
拦截的实现
if (response.code() != 200) { //如果code不等200则重新返回Response
return new Response.Builder()
.code(200)
.body(ResponseBody.create(response.body().contentType(), "服务器错误!"))
.request(request)
.protocol(Protocol.HTTP_1_0)
.build();
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)