Logo

Funcionalidade:

Mutations Aninhadas

Mutations Aninhadas

As mutations são expostas apenas no tipo raiz no GraphQL. Como consequência, o tipo raiz fica excessivamente sobrecarregado, contendo campos que não têm nada em comum entre si, exceto serem mutations (o que é uma questão técnica, não uma decisão de design de interface).

As mutations aninhadas tornam o schema mais lógico e navegável, permitindo executar mutations em qualquer tipo, e não apenas no tipo raiz. Elas também melhoram o desempenho, permitindo modificar dados no resultado de outra mutation, evitando assim a latência de executar múltiplas requisições.

Esta query GraphQL demonstra uma mutation aninhada:

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
            }
          }
        }
      }
    }
  }
}

Assine nossa newsletter

Fique por dentro de todas as atualizações do Gato GraphQL.