2016-09-13 84 views

回答

1

可能您需要使用OkHttp拦截器添加Token

OkHttpClient client = new OkHttpClient.Builder() 
     .addNetworkInterceptor(mTokenInterceptor) 
     .build(); 

然后将其添加到Retrofit

Retrofit retrofit = new Retrofit.Builder() 
     .client(client) 
     .baseUrl(base_url) 
     .build(); 

mTokenInterceptor

Interceptor mTokenInterceptor = new Interceptor() { 
    @Override 
    public Response intercept(Chain chain) throws IOException { 
     Request request = chain.request(); 
     if (mToken != null) { 
      Request.Builder requestBuilder = request.newBuilder() 
        .addHeader("Authorization", mToken); 
      Request newRequest = requestBuilder.build(); 

      return chain.proceed(newRequest); 
     } 
     return chain.proceed(request); 

    } 
}; 

当你得到Token,只是分配mToken

0

你可以尝试像下面,只是粗例子

@GET("your server url goes here") 
    Call<Your_Model_Class> getServerData(@Header("Authorization") String token); 

通过你的令牌getServerData方法。

+0

alrea dy试过了,而且还是401 – nysertxs