使用令牌和ID添加标头

我在获取经过身份validation的用户时遇到问题。 在它之前我得到了令牌和用户ID。 现在我需要使用访问令牌和id从服务器获取用户。 我有标题格式

现在我试图使用拦截器添加带有用户令牌和id的头。

我的代码:

Interceptor interceptor = new Interceptor() { @Override public okhttp3.Response intercept(Chain chain) throws IOException { Request newRequest = chain.request().newBuilder() .addHeader("Accept", "application/json") .addHeader("authorization", token) <-?? .addHeader("driver_id", id) <-?? .build(); return chain.proceed(newRequest); } }; OkHttpClient.Builder okHttpBuilder = new OkHttpClient.Builder(); okHttpBuilder.addInterceptor(interceptor); OkHttpClient okHttpClient = okHttpBuilder.build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .client(okHttpClient) .build(); 

接口:

 @GET("driver/v1/driver") Call getAuthorizedDriver(); 

不同的变种抛出401错误,不知道该怎么办Log:

 I/Response code: 401 I/Response message: Unauthorized` 

我知道了。 它必须看起来像:

 @GET("driver/v1/driver") Call getAuthorizedDriver(@Header("authorization") String auth); 

并且auth:

 Call call = apiInterface.getAuthorizedDriver("Token token=" + token + ", driver_id=" + id); 

尝试通过方法调用传递标头值:

 @GET("driver/v1/driver") Call getAuthorizedDriver(@Header("authorization") String token, @Header("driver_id") Integer id); 

您也不必处理这一大块Interceptor代码