我正在使用Retrofit2来使用json。 当我登录时,将生成一个承载令牌并将其保存到SharedPrefenences中。 我想将此承载令牌用作身份验证标头。 每次我使用它时,响应消息都是“未经授权”
here's my Request:
@GET("user/wishlist")
Call<WishListModel> getWishList(@Header("Authorization") String BearerToken);
这是电话:
Retrofit retrofit = new Retrofit.Builder().baseUrl("URL").addConverterFactory(GsonConverterFactory.create()).build();
RequestInterface requestInterface = retrofit.create(RequestInterface.class);
Call<WishListModel> call = requestInterface.getWishList("Bearer "+token);
答案 0 :(得分:0)
您需要使用OkHttp拦截器添加标头。
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request().newBuilder().addHeader("parameter", "value").build();
return chain.proceed(request);
}
});
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create()).baseUrl(url).client(httpClient.build()).build();
然后使用改造实例来调用您的呼叫。