Mutation和Query有什么区别

问题描述 投票:23回答:4

我正在读取GraphQL documentation,其中描述了QueryMutation。但是,缺少显示和/或描述它们之间差异的真实示例,最重要的是-什么时候使用它是合适的。

非常感谢您的解释。

graphql
4个回答
38
投票

按惯例:

  • Query-用于查询数据(SELECT操作)
  • Mutation-用于创建新数据和更新/删除现有数据(INSERTUPDATEDELETE

详细

技术上可以执行任何GraphQL查询以引起数据写入。但是有一个约定,所有导致写入的操作都应通过突变显式发送。

除了语义上的差异外,还有[[一项重要的技术差异:

GraphQL引擎Query字段

可以并行执行

,而Mutation顶级字段必须串行执行根据规范:
[如果操作是突变,则操作的结果是对突变根对象类型执行突变的顶级选择集的结果。此选择集

应顺序执行

预计突变操作中的顶级字段会对基础数据系统产生副作用。连续执行所提供的突变可确保在这些副作用期间避免种族条件。

来源:https://graphql.github.io/graphql-spec/draft/#sec-Mutation


9
投票
简单来说,查询是SELECT语句,而变异是INSERT Operation。

graphql中的查询用于获取数据,而突变用于INSERT / UPDATE / DELETE操作。


7
投票

查询 =选择

mutation

=插入,更新,删除

3
投票
思考

REST:

查询 => GET

变异 => POSTPUTPATCH删除
© www.soinside.com 2019 - 2024. All rights reserved.