GraphQL 查询分析是不是仅指查询?
Posted
技术标签:
【中文标题】GraphQL 查询分析是不是仅指查询?【英文标题】:Does GraphQL Query Analysis only refer to Queries?GraphQL 查询分析是否仅指查询? 【发布时间】:2020-05-30 19:46:43 【问题描述】:GraphQL 相关资源解释了如何进行查询分析以保护 GraphQL 端点。正在使用的一些方法是查询深度分析、查询复杂性分析等。我的问题是,查询分析是否只涉及查询?突变和订阅呢?或者当我们谈论查询分析时,是否包括所有 3 个(查询、变异、订阅)?
【问题讨论】:
【参考方案1】:Apollo Tracing 是查询分析工具之一,根据我在graphql-java 中使用的内容,它可以用于所有查询、变异和订阅。所以,我相信查询分析这个词可以适用于所有这些。
毕竟,它们在 GraphQL 引擎内部的处理方式几乎与规范所定义的相同。在Execution Operation 部分,您可以看到Query 和Mutation 具有相同的执行逻辑。唯一的区别是Query 允许并行执行,而mutation 只能串行执行。
然后在订阅响应流section中提到:
ExecuteSubscriptionEvent() 算法有意类似于 ExecuteQuery() 因为这是每个事件结果的产生方式。
也就是说最后,它的执行逻辑和Query一样。
【讨论】:
以上是关于GraphQL 查询分析是不是仅指查询?的主要内容,如果未能解决你的问题,请参考以下文章