在哪里查看 Apollo 服务器 express GraphQL 缓存?
Posted
技术标签:
【中文标题】在哪里查看 Apollo 服务器 express GraphQL 缓存?【英文标题】:Where to check Apollo server express GraphQL cache? 【发布时间】:2022-01-19 13:07:09 【问题描述】:我正在使用 Apollo Sever Express 构建 GraphQL 端点。根据他们的文档,我在我的 typeDefs 架构中添加了 @cacheControl 指令。但我不确定它是否有效,我该如何验证或测试这种情况?我在 localhost:3000/graphql 运行服务器(GraphQL ide 已打开)。
代码-
type Post
id: ID!
title: String
votes: Int @cacheControl(maxAge: 30)
还在解析器中尝试了动态的,但是我应该如何/在哪里检查呢?
【问题讨论】:
【参考方案1】:这取决于你追求什么。如果您尝试使用 HTTP 缓存,您应该查看网络调用并查看它是否设置了 cache-control
响应标头。如果您希望缓存整个查询,我只需在解析器中 console.log
即可查看它是否正在执行。
【讨论】:
如何设置用于缓存底层 REST API 的标头? 我认为没有内置任何东西。我知道 Apollos DataSource 类使用底层标头在内部缓存,但我认为这不会转发标头。我会从 REST 响应中读取标头,并以编程方式在 apollo 中设置缓存控制。 是的@peternyc,我尝试使用 RESTDataSource 设置标题,但没有帮助。你能提供你提到的第二点的代码参考吗?以上是关于在哪里查看 Apollo 服务器 express GraphQL 缓存?的主要内容,如果未能解决你的问题,请参考以下文章
使用 apollo-server-express 迁移到 3.5.0
Mongoose 在 Apollo-Express 服务器上抛出错误 ECONNREFUSED