Retrofit2 动态(静态)添加请求头Header

Posted 安卓笔记侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Retrofit2 动态(静态)添加请求头Header相关的知识,希望对你有一定的参考价值。

Retrofit提供了两个两种定义HTTP请求头字段的方法即静态和动态。静态头不能改变为不同的请求,头的键和值是固定的且不可改变的,随着程序的打开便已固定。

动态添加

@GET("/")
Call<ResponseBody> foo(@Header("Accept-Language") String lang);

@HeaderMap

@GET("/search")
Call<ResponseBody> list(@HeaderMap Map<String, String> headers);

静态添加

 1 @Headers("Cache-Control: max-age=640000")
 2 @GET("/tasks")
 3 Call<List<Task>> getDataList();
 4 
 5 @Headers({
 6     "X-Foo: Bar",
 7     "X-Ping: Pong"
 8 })
 9 @GET("/")
10 Call(ResponseBody) getData(@Query("id") String id);

 

以上是关于Retrofit2 动态(静态)添加请求头Header的主要内容,如果未能解决你的问题,请参考以下文章

Retrofit2.0+OkHttp打印Request URL(请求地址参数)

动态库和静态库

Retrofit2.0+OkHttp打印Request URL(请求地址参数)

Retrofit2.0+OkHttp打印Request URL(请求地址参数)

Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总

RxJava2+Retrofit2+RxLifecycle3+OkHttp3网络请求封装(动态演示)