小工具知识网

当前位置: 首页 > 行业知识 > Android Retrofit添加header参数

行业知识

Android Retrofit添加header参数

2026-11-05 03:55:43 来源:互联网转载

前言

有些接口需要单独设置header参数 作为标记

如何灵活 或者统一设置请求header呢

注解@Headers

顾名思义 @Headers是指多个header 放在对象里 统一管理

//获取xxx@Headers({"Content-Type: application/json",   "User-Agent: test"})@POST("xxxx")Observable getObj(@Body Map map);

拦截器 Interceptor

如果index.php/tags-602.html" >使用代码的方式,则需要添加头部拦截器

需要注意的是这里是统一拦截 一般指固定的头部参数

根据业务来判断

OkHttpClient.Builder httpClient = new OkHttpClient.Builder();  httpClient.addInterceptor(new Interceptor() {      @Override    public Response intercept(Interceptor.Chain chain) throws IOException {        Request original = chain.request();         Request request = original.newBuilder()            .header("Content-Type", "application/json")            .header("User-Agent", "test")            .method(original.method(), original.body())            .build();         return chain.proceed(request);    }} OkHttpClient client = httpClient.build();  Retrofit retrofit = new Retrofit.Builder()      .baseUrl(API_BASE_URL)    .addConverterFactory(GsonConverterFactory.create())    .client(client)    .build();

注解 @Header

@Header指单个header 添加单个头部 动态 可灵活配置

适用于个别接口 有要求的上传参数

下面这个认证接口 后台要求传一个加密的key 而其他接口不需要

所以用@Header 最为方便

  //认证接口@Headers({"Content-Type: application/json"})@POST("isp/app/worker/auth")Observable auth(@Header("key") String encodeStr, @Body Map map);

上一篇:轻松下载ese教程,一步步操作指南!

下一篇:域名设计怎么写?