android - Retrofit 2.0中如何使用Authorization Token token=A-123456789qwertyuio12 Header

标签 android rest retrofit2

我正在尝试使用具有该授权 header 的 api,我可以在 Postman 中获得包含所有数据的 200 响应,但无法让它在改造中工作

最佳答案

可能您需要使用 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

关于android - Retrofit 2.0中如何使用Authorization Token token=A-123456789qwertyuio12 Header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39462000/

相关文章:

java - Android 上无损 JPG 裁剪且不丢失 EXIF

android - 如何在没有php的情况下从android访问mySQL数据库

java - 用java制作Jhipster REST客户端

android - 使用 Retrofit 的 RxJava JUnit 测试抛出 NullPointerException

Android Activity Transition 幻灯片动画

rest - 使用 token 是否违反 REST 原则

javascript - 在 backbone.js 中添加 access_token

android - Retrofit2(拦截器)+GoogleApiClient如何刷新token

android - 改造中@Field和@Query有什么区别

android - Nearby.Messages 未为此应用启用