我试图使用apollo-android库与graphql server进行通信。问题是后端使用标头来验证请求,我找不到添加它们的方法。同样在auth请求中,令牌在头文件中发送,我找不到从响应中读取它的方法。
人们建议在OkHttpClient中通过拦截器设置auth标头,但这种方法不适用于我的情况,因为客户端必须在不同的请求中发送不同的标头集。
那么,在这种情况下有没有解决方法?我应该使用像Retrofit这样的简单休息客户端,还是可以在每个新请求中使用所需的标头集创建新的ApolloClient和OkHttpClient实例?或者可能还有其他解决方法?
答案 0 :(得分:0)
人们建议在OkHttpClient中通过拦截器设置auth标头,但这种方法不适用于我的情况,因为客户端必须在不同的请求中发送不同的标头集。
在拦截器上设置接受变化头的setter方法和字段。在发出需要标头的ApolloClient
请求之前调用这些setter方法。
或者,教导拦截器如何根据拦截器可见的请求特征(例如URL)为不同的请求应用不同的头。