Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用apollo android读取响应头和写入请求头_Java_Android_Http Headers_Apollo_Apollo Android - Fatal编程技术网

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

Java 如何使用apollo android读取响应头和写入请求头,java,android,http-headers,apollo,apollo-android,Java,Android,Http Headers,Apollo,Apollo Android,我正在尝试使用apollo android库与graphql服务器通信。问题是后端使用头来验证请求,我找不到添加它们的方法。同样在auth请求中,令牌以头的形式发送,我没有找到从响应中读取它的方法 人们建议在OkHttpClient中通过拦截器设置auth头,但这种方法不适用于我的情况,因为客户端必须在不同的请求中发送不同的头集 那么,在这种情况下有什么解决办法吗?我应该使用简单的rest客户端,比如改型,还是在每个新请求上创建新的Apollo客户端和OkHttpClient实例,并使用所需的头

我正在尝试使用apollo android库与graphql服务器通信。问题是后端使用头来验证请求,我找不到添加它们的方法。同样在auth请求中,令牌以头的形式发送,我没有找到从响应中读取它的方法

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

那么,在这种情况下有什么解决办法吗?我应该使用简单的rest客户端,比如改型,还是在每个新请求上创建新的Apollo客户端和OkHttpClient实例,并使用所需的头集?或者可能还有其他解决办法

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

在拦截器上有setter方法和字段,它们接受不同的头。在发出需要标头的
ApolloClient
请求之前,调用这些setter方法


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

此用例是否可行?我一个接一个地发出request1(r1)request2(r2)request3(r3),并分别设置header1(h1)header2(h2)header3(h3)。当r1与h1一起执行时,r2与h2和r3与h3一起排队。执行r2时,拦截器将具有h3头,因此r2可以与h3一起执行。问题是什么时候会在执行或排队时调用拦截器?@VladKudoyar:我不知道拦截器的确切时间,尽管我猜测它们是在执行时使用的。不过,您需要测试这个理论。您是否在寻找解释如何将RequestHeader添加到graphql查询/变异的语法?