1. 程式人生 > >Android中使用Retrofit動態、靜態新增Header的方案

Android中使用Retrofit動態、靜態新增Header的方案

使用Retrofit新增統一請求頭這裡就不多做解釋了,就是一個攔截器(addInterceptor)而已;

如何新增獨立介面新增Header呢?

/**
 * 動態新增請求頭
*
 * @param lang
* @return
*/
@GET("/")
Call<ResponseBody> query(@Header("Accept-Language") String lang);

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

Setp1:

/**
 * 獨立新增Header* @param header* @return
*/
@FormUrlEncoded
@POST("xxx")
Observable<xxxBean> xxx(@HeaderMap Map<String,String> header, @Field("xxx") int xxx);

Step2:定義一個方法

public static Map addTokenMap() {
    Map<String,String> map = new 
HashMap<String, String>(); map.put(xxxKey,xxxValue); return map; }

Step3:在請求介面中,addTokenMapna拿到key、value即可!