android studio 如何解决在 Retrofit header 中添加变量的问题

how to solve add variable in Retrofit header on android studio

我已经尝试了很多次不同类型的初始化。在此 Image 中,我使用了一个已初始化值的全局变量。任何人都可以帮助解决这种类型的错误太多了

Header 接受这种格式的数据

单个示例:

@Headers({"Accept: application/json"})

多个示例:

@Headers({
        "Accept: application/json",
        "User-Agent: Your-App-Name",
        "Cache-Control: max-age=640000"
    })

在您的情况下,代码应更改为,

@Headers({"Authorization: "+ tokenn})

您需要创建自己的拦截器并在您的界面上添加令牌。

public class AuthorizationHeaderInterceptor implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {

        LoginResponse toc = LoginResponse();
        Request request = chain.request()
                .newBuilder()
                .addHeader("Authorization", "Bearer " + toc.getToken())
                .build();
        Response response = chain.proceed(request);
        return response;
    }
}

然后将这个拦截器添加到您的 OkHttpClient 中,然后将那个 OkHttpClient 添加到您的 Retrofit 中。