avi*_*ran 31 android retrofit okhttp
我想拦截改装引擎收到的所有响应,并扫描HTTP错误代码,例如错误403.
我知道我可以使用每个请求的失败(RetrofitError错误)回调并检查403,但我想全局包装响应.
我可以看到请求拦截是可能的,但我没有看到类似的响应选项.
有什么建议?
avi*_*ran 68
我能够通过向改装正在使用的OkHttpClient添加拦截器来实现这一点.
Retrofix 2.x:
val clientBuilder = OkHttpClient.Builder()
clientBuilder.addInterceptor { chain ->
val request = chain.request()
val response = chain.proceed(request)
if (response.code() == 403) {
handleForbiddenResponse()
}
response
}
Run Code Online (Sandbox Code Playgroud)
改造1.x:
OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
clientBuilder.
addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Response response = chain.proceed(request);
if (response.code() == 403) {
handleForbiddenResponse();
}
return response;
}
});
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(clientBuilder.build();)
.build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17551 次 |
| 最近记录: |