java - 使用 Retrofit 2 向所有请求添加 header

标签 java android header httprequest retrofit

Retrofit 2's documentation说:

Headers that need to be added to every request can be specified using an OkHttp interceptor.

使用以前的版本可以轻松完成,here's相关的QA。

但是使用改造 2,我找不到类似 setRequestInterceptorsetInterceptor 方法可以应用于 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/

相关文章:

java - 如何检索 Realm 中的用户名

java - Bobo-Browse 兼容 Lucene 3.0.3 的最高版本是多少?

java - 拥有多个 WebView 或导入 Java 库

android - 对捕获的视频进行地理标记

html - 在 div 元素内居中放置一个 H2

module - 找不到名称 'Headers' 、 'RequestInit' 、 'Response'

java - 如何使用原始 SQL 在 jOOQ 中进行批量插入?

java - 在由用户定义的数据类型组成的数组列表中搜索

Android:从 Android 代码获取 APKs minSdkVersion

c - 头文件创建未声明的值