Apollo 中的 GraphQL 持久化查询
Posted
技术标签:
【中文标题】Apollo 中的 GraphQL 持久化查询【英文标题】:GraphQL persisted queries in Apollo 【发布时间】:2018-04-28 13:17:03 【问题描述】:因为根据定义,持久化查询是静态的,它们也为您提供 优化服务器上执行特定的可能性 查询,例如通过手工制作高效的数据库 询问。 https://dev-blog.apollodata.com/persisted-graphql-queries-with-apollo-client-119fd7e6bba5
但是如果查询是在服务器端自动注册的,这意味着服务器必须监视新的查询并适应手工制作的数据库查询,你甚至不知道更改了什么查询。也许最好不要自动注册请求,而是手动注册查询?
因此,在开发环境中,客户端可以使用 graphql 查询,当他们知道查询是他们需要的内容时,他们可以向服务器开发人员发送请求以注册查询或修改现有查询。
【问题讨论】:
【参考方案1】:也许最好不要自动注册请求,而是手动注册查询?
根据我的经验,如果您希望将持久查询用于白名单 安全方面,那么自动创建持久查询并不理想。通常,您有一些手动脚本来同步或剪切来自客户端的一组持久查询,然后将其放入服务器中。在构建/部署时,这将是最有意义的。
最近有一些关于Automatic Persisted Queries 的工作,但这只是为了提高性能(它发生在服务器处理的每个查询上,并且客户端需要构建为处理这个新流程)。
【讨论】:
以上是关于Apollo 中的 GraphQL 持久化查询的主要内容,如果未能解决你的问题,请参考以下文章
外部 WebSocket 服务器上的 Apollo-Server GraphQL 订阅