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 中。
我已经尝试了很多次不同类型的初始化。在此 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 中。