Headers that need to be added to every request can be specified using an OkHttp interceptor.
使用以前的版本可以轻松完成,here's相关的QA。
但是使用改造 2,我找不到类似 setRequestInterceptor
或 setInterceptor
方法可以应用于 Retrofit.Builder
对象。
另外,OkHttp 中似乎没有 RequestInterceptor
了。 Retrofit 的文档将我们推荐给 Interceptor我不太明白如何将它用于此目的。
我该怎么做?
最佳答案
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request().newBuilder().addHeader("parameter", "value").build();
return chain.proceed(request);
}
});
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create()).baseUrl(url).client(httpClient.build()).build();
关于java - 使用 Retrofit 2 向所有请求添加 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32605711/