温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Retrofit2.0中添加Header

发布时间:2021-05-19 15:46:53 来源:亿速云 阅读:417 作者:Leah 栏目:移动开发

怎么在Retrofit2.0中添加Header?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

(1)使用注解的方式添加一个header参数

public interface ApiService {    @Headers("Cache-Control: max-age=560000")   @GET("/data")   Call<List<Data>> getData(); }

(2)使用注解的方式添加多个header参数

public interface ApiService {    @Headers({     "Accept: application/vnd.yourapi.v1.full+json",     "User-Agent: YourAppName"   })   @GET("/data/{user_id}")   Call<Data> getData(@Path("user_id") long userId); }

(3)使用注解的方式,header参数每次都不同,动态添加header

public interface ApiService {    @GET("/data")   Call<List<Data>> getData(@Header("Content-Range") String contentRange); }

(4)在代码里添加header,需要使用拦截器

OkHttpClient.Builder client = new OkHttpClient.Builder();  client.addInterceptor(new Interceptor() {    @Override   public Response intercept(Interceptor.Chain chain) throws IOException {     Request original = chain.request();     Request request = original.newBuilder()       .header("User-Agent", "YourAppName")       .header("Accept", "application/vnd.yourapi.v1.full+json")       .method(original.method(), original.body())       .build();     return chain.proceed(request);   } } OkHttpClient httpClient = client.build();  Retrofit retrofit = new Retrofit.Builder()    .baseUrl(Constant.BASE_URL)   .addConverterFactory(GsonConverterFactory.create())   .client(httpClient)   .build();

看完上述内容,你们掌握怎么在Retrofit2.0中添加Header的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI