java - 如何使用apollo-android读取响应头和写入请求头

标签 java android http-headers apollo apollo-android

我正在尝试使用 apollo-android 库与 graphql 服务器通信。问题是后端使用 header 对请求进行身份验证,但我找不到添加它们的方法。同样在身份验证请求中, token 在 header 中发送,我发现无法从响应中读取它。

人们建议通过 OkHttpClient 中的拦截器设置 auth header ,但这种方法不适用于我的情况,因为客户端必须在不同的请求中发送不同的 header 集。

那么,在这种情况下有什么解决方法吗?我应该使用像 Retrofit 这样的简单 rest 客户端,还是在每个具有所需 header 集的新请求上创建新的 ApolloClient 和 OkHttpClient 实例?或者也许还有其他解决方法?

最佳答案

People advise to set auth headers via interceptors in OkHttpClient but this approach is not applicable in my situation because client have to send different sets of headers in different requests.

在接受不同 header 的拦截器上使用 setter 方法和字段。在发出需要 header 的 ApolloClient 请求之前调用这些设置方法。

或者,教拦截器如何根据拦截器可见的请求特征(例如,URL)为不同的请求应用不同的 header 。

关于java - 如何使用apollo-android读取响应头和写入请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49839116/

相关文章:

java - Jersey/Jaxb 为 beans 列表别名

java - 将图像从网站加载到 Android 应用程序

linux - HTTP header 和错误页面 - NGINX

android - ImageView 未出现在小部件中

android - 从 android 登录到 youtube

javascript - 如何使用 Fetch api 获取 CORS 请求中的 header 字段

.net - 如何在 .NET 中使用 HTTPS 将 header 发送到站点?

java - 在 Firestore 中合并查询

java - keytool -genkeypair + keytool -list + jarsigner -verify ==>java 1.8 win 10 中的ZipException

java - 如何通过 jdbc 在 PostgreSQL 中使用 Before Christ 日期编写时间戳?