GraphQL相关资源说明了如何进行查询分析以保护GraphQL端点。正在使用的一些方法是查询深度分析,查询复杂度分析等。我所面临的问题是,查询分析是否仅引用查询?突变和订阅呢?或者当我们谈论查询分析时,是否包括所有3个(查询,变异,订阅)?
答案 0 :(得分:2)
Apollo Tracing是查询分析工具之一,根据我在graphql-java中的使用情况,它可以用于所有Query,Mutation和Subscription。因此,我相信查询分析一词可以应用于所有这些语言。
毕竟,按照规范定义,它们在GraphQL引擎内部的处理方式几乎相同。在Execution Operation部分中,您可以看到Query和Mutation具有相同的执行逻辑。唯一的区别是Query可以并行执行,而mutation只能串行执行。
然后在订阅响应流section中,它提到:
ExecuteSubscriptionEvent()算法故意类似于 ExecuteQuery(),因为这是每个事件结果的产生方式。
这意味着最后,其执行逻辑与Query相同。