Logo

功能:

嵌套 Mutation

嵌套 Mutation

在 GraphQL 中,mutation 只在根类型上公开。因此,根类型变得极为臃肿,包含大量彼此之间没有任何关联的字段,唯一的共同点只是它们都是 mutation(这是技术层面的问题,而非接口设计决策)。

嵌套 mutation 通过允许在任意类型上执行 mutation,而不仅限于根类型,使 schema 更加逻辑清晰、易于浏览。它同样有助于提升性能——可以直接对另一个 mutation 的结果进行数据修改,从而避免执行多个请求带来的延迟。

以下 GraphQL query 演示了嵌套 mutation 的用法:

mutation {
  createPost(input: {
    title: "First title"
  }) {
    status
    postID
    post {
      update(input: {
        title: "Second title",
        contentAs: { html: "Some content" }
      }) {
        status
        post {
          title
          content
          addComment(input: {
            commentAs: { html: "My first comment" }
          }) {
            status
            commentID
            comment {
              content
              date
            }
          }
        }
      }
    }
  }
}

订阅我们的新闻通讯

及时了解 Gato GraphQL 的所有更新。