Retrofit2.0添加Header的方法總結(jié)(推薦)
最近在項目里面需要添加header,然后就想大家分想一下retrofit添加header的方法
(1)使用注解的方式添加一個header參數(shù)
public interface ApiService {
@Headers("Cache-Control: max-age=560000")
@GET("/data")
Call<List<Data>> getData();
}
(2)使用注解的方式添加多個header參數(shù)
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參數(shù)每次都不同,動態(tài)添加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();
其實我們看上面的addInterceptor方法好像是并列的,至于哪個攔截器在前,哪個在后,應該無所謂。但是事實是,如果吧mHttpLoggingInterceptor放前面,則后面的interceptor添加的heanders將不會生效。當我們使用addInterceptor來添加網(wǎng)絡攔截器時,一定要把網(wǎng)絡攔截器放前面。
使用addNetworkInterceptor
當我們使用網(wǎng)絡請求方面的攔截器時,直接使用addNetworkInterceptor方法來添加,而不要使用addInterceptor來添加。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 通過自定義view實現(xiàn)水波紋效果案例詳解
這篇文章主要介紹了Android 通過自定義view實現(xiàn)水波紋效果案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
Android多點觸控技術(shù)實戰(zhàn) 針對圖片自由縮放和移動
這篇文章主要為大家詳細介紹了Android多點觸控技術(shù)實戰(zhàn),自由地對圖片進行縮放和移動,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
android根據(jù)分辨率自動調(diào)整字體大小的實例代碼
android根據(jù)分辨率自動調(diào)整字體大小的實例代碼,需要的朋友可以參考一下2013-06-06
Android貝塞爾曲線初步學習第二課 仿QQ未讀消息氣泡拖拽黏連效果
這篇文章主要為大家詳細介紹了Android貝塞爾曲線初步學習的第二課,仿QQ未讀消息氣泡拖拽黏連效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
強制去除Unity自動添加的Android隱私權(quán)限
大家好,本篇文章主要講的是強制去除Unity自動添加的Android隱私權(quán)限,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12

