如何使用 ApolloClient 记录 HTTP 请求和响应
Posted
技术标签:
【中文标题】如何使用 ApolloClient 记录 HTTP 请求和响应【英文标题】:How to log HTTP request and response with ApolloClient 【发布时间】:2019-03-16 14:42:49 【问题描述】:我同时使用来自“apollo-client”和“apollo-boost”库的ApolloClient,例如
const client = new ApolloClient(
uri: 'https://www.myapp.no/api/',
request: async (operation) =>
console.log(operation)
operation.setContext(
headers:
authorization: tokenHeader,
'Content-Type': 'application/json'
)
,
onError: (error) =>
if (error.graphQLErrors)
console.log('ApolloClient graphQLErrors')
console.log(graphQLErrors)
if (error.networkError)
console.log('ApolloClient networkError')
console.log(graphQLErrors)
)
operation
对象仅显示variables
和query
信息。如何在后台记录实际的 HTTP 请求和响应?
我想查看传出的请求标头和参数,以及响应标头和状态代码
这似乎是一项非常简单的任务,但我已经花了很长时间搜索,但没有提及。
【问题讨论】:
【参考方案1】:你可以使用这个很棒的扩展:https://github.com/apollographql/apollo-client-devtools
【讨论】:
这对于本地开发来说很好,但我希望能够记录以监控生产中部署的站点。以上是关于如何使用 ApolloClient 记录 HTTP 请求和响应的主要内容,如果未能解决你的问题,请参考以下文章
如何将 fetcher 传递给 ApolloClient()?
apolloClient.query 不使用中间件,而 <Query /> 使用
如何在 ApolloClient.query() 上使用“缓存和网络”策略
使用 ApolloClient 执行 GraphQL 查询时如何正确处理加载和部分状态?