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