我有一个OkHttpInterceptor,它拦截了应用程序在请求标头中追加token
的每个请求。
private OkHttpClient getOKHttpClient() {
return new OkHttpClient().newBuilder().addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request originalRequest = chain.request();
Request.Builder builder = originalRequest.newBuilder().header("x-access-token", getNewTokenPassively());
Request newRequest = builder.build();
return chain.proceed(newRequest);
}
}).build();
}
我正在使用此方法添加拦截器
....
return new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.client(getOKHttpClient())
.build();
....
这在SDK 25及更高版本中不起作用,其中任何http调用call.enqueue
方法都不起作用且API调用永远不会通过......
如果我用.client(getOKHttpClient())
替换.client(newOkHttpClient.Builder().build())
,一切正常。
我错过了一些明显的东西吗?