【发布时间】:2021-02-16 19:52:19
【问题描述】:
我使用拦截器设置请求的标头,例如:
@NotNull
@Override
public Response intercept(@NonNull Chain chain) throws IOException {
Request request = chain.request();
Request.Builder builder = request.newBuilder();
builder.header("Authorization", "[token]");
builder.header("UniqueKey", "[key]");
etc;
return chain.proceed(builder.build());
}
一切都按预期工作(服务器看到并接受)。
我的问题是,当响应到来时,我想在我的应用程序中读取这些标头。
@Override
public void onResponse(@NonNull Call<T> call, Response<T> response) {
}
我使用call.request.headers(),但总是返回一个空字符串[]。所有其他属性(url、params、verb)都可以访问,只是缺少标题。
我在请求标头中设置了一个键,基本上我想在收到响应时检查这个键。
任何线索为什么标题不可见以及如何在onResponse() 中获取它们?
【问题讨论】:
标签: android retrofit2 request-headers