Retrofit2+Okhttp3添加统一请求头

简介: Retrofit2+Okhttp3添加统一请求头

业务场景

我们通常需要cookie持久化来保持回话统一,也因为某些业务需求,需要每个接口都传一些参数,比如token、userId等。


原理解读

原理呢,比较简单的,把参数以请求头的方式添加到拦截器中,然后在配置给okhttp

代码实现

  • 创建拦截器,并添加参数
public class HeaderInterceptor implements Interceptor {
    @NonNull
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request original = chain.request();
        Request.Builder requestBuilder = original.newBuilder()
                .addHeader("version", "1.0.0")
                .addHeader("自定义key", "自定义value");
        Request request = requestBuilder.build();
        return chain.proceed(request);
    }
}

配置拦截器给OkHttp

   

OkHttpClient okHttpClient = new OkHttpClient.Builder()
                ...
                .addInterceptor(new HeaderInterceptor())
                ...
                .connectTimeout(20, TimeUnit.SECONDS)
                .build();

也可以用@Header@Headers注解给某一个接口单独添加一个或多个请求头。


目录
相关文章
|
安全 Java 应用服务中间件
使用OkHttp工具时Authorization请求头丢失问题
记一次联调三方接口时"Authorization"请求头丢失问题, 使用工具OkHttp
使用OkHttp工具时Authorization请求头丢失问题
|
10月前
|
Java
使用OkHttp3框架获取服务器数据
使用OkHttp3框架获取服务器数据
114 0
|
10月前
|
缓存
Retrofit配置及各情况处理
Retrofit配置及各情况处理
164 0
|
数据采集 负载均衡 监控
三种跨域解决方案:HttpClient、注解、网关
三种跨域解决方案:HttpClient、注解、网关
|
JSON 数据格式
Okhttp post请求数据和使用中的一些问题
Okhttp post请求数据和使用中的一些问题
|
存储 JSON 安全
商圈库-Http-Okhttp的使用和封装 | 学习笔记
快速学习商圈库-Http-Okhttp的使用和封装。
72 0
商圈库-Http-Okhttp的使用和封装 | 学习笔记
|
存储
Retrofit+OkHttp实现Cookie持久化,RxJava方式
Retrofit+OkHttp实现Cookie持久化,RxJava方式
272 0
|
设计模式 Java API
【OkHttp】OkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 )
【OkHttp】OkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 )
306 0
【OkHttp】OkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 )
|
缓存
【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )
【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )
325 0
【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )
Okhttp3源码解析(2)-Request分析
前言 前面我们讲了Okhttp的基本用法Okhttp3源码解析(1)-OkHttpClient分析 今天主要分析下Request源码! Request初始化 当我们构建完OkHttpClient对象,需要构造Request对象,构造方式如下: 1.
948 0