突变是用于操作数据的查询。如果是这样,那么我的root query
和root mutation
树应该看起来相似吧?它们都应该允许嵌套字段(嵌套突变)。我正在玩这个(使用express-graphql
)并且它有效。
例子:
// PUT /projects/:project_id/products/:id
mutation {
findProject(id: 1) { // make sure that project exists and we can access it before mutating data
updateProduct(id: 1, name: "Foo") { // the resolve function receives a valid `project` as the first argument
id
}
}
}
这是一个有效的例子吗?突变应该像这样嵌套吗?如果不是,我应该如何处理嵌套资源?我找不到任何会改变嵌套资源的真实示例。所有示例仅在第一级(根突变上的字段)上定义突变。