
Funktion:
Verschachtelte Mutationen
Verschachtelte Mutationen
Mutations sind in GraphQL nur am Root-Typ verfügbar. Dadurch wird der Root-Typ stark überladen und enthält Felder, die nichts miteinander gemein haben, außer dass sie Mutations sind (was eine technische Angelegenheit ist, keine Interface-Design-Entscheidung).
Verschachtelte Mutationen machen das Schema logischer und einfacher zu durchsuchen, indem sie es ermöglichen, Mutations auf jedem Typ auszuführen, und nicht nur auf dem Root-Typ. Sie verbessern auch die Performance, indem du Daten auf dem Ergebnis einer anderen Mutation ändern kannst und so die Latenz durch mehrere Anfragen vermeidest.
Diese GraphQL-query zeigt eine verschachtelte 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
}
}
}
}
}
}
}