如何使用授权令牌令牌= A-123456789qwertyuio12 Retrofit 2.0中的标头

时间:2016-09-13 03:57:58

标签: android rest retrofit2

我试图使用具有该授权标头的api,我可以在Postman中获得200响应所有数据,但不能让它在改造中工作

2 个答案:

答案 0 :(得分:1)

可能需要使用OkHttp Interceptor添加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

即可

答案 1 :(得分:0)

你可以尝试类似下面的内容,只是一个粗略的例子

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

将您的令牌传递给getServerData方法。