Logo

Funzionalità:

Mutazioni annidate

Mutazioni annidate

Le mutations sono esposte solo sul tipo radice in GraphQL. Di conseguenza, il tipo radice diventa fortemente sovraccarico, contenendo campi che non hanno nulla in comune tra loro se non l'essere mutations (il che è una questione tecnica, non una decisione di progettazione dell'interfaccia).

Le mutazioni annidate rendono lo schema più logico e navigabile, consentendo di eseguire mutations su qualsiasi tipo, e non solo sul tipo radice. Migliorano anche le prestazioni, permettendo di modificare i dati sul risultato di un'altra mutation, evitando così la latenza derivante dall'esecuzione di più richieste.

Questa query GraphQL illustra una mutazione annidata:

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

Iscriviti alla nostra newsletter

Resta aggiornato su tutte le novità di Gato GraphQL.