
Functie:
Geneste Mutaties
Geneste Mutaties
Mutaties zijn in GraphQL alleen beschikbaar op het roottype. Als gevolg daarvan wordt het roottype sterk overbelast, met velden die onderling niets gemeen hebben behalve dat het mutaties zijn (wat een technische kwestie is, geen ontwerpbeslissing voor de interface).
Geneste mutaties maken het schema logischer en beter doorzoekbaar door mutaties op elk type mogelijk te maken, niet alleen op het roottype. Ze verbeteren ook de prestaties doordat je gegevens kunt wijzigen op het resultaat van een andere mutatie, waardoor de latentie van het uitvoeren van meerdere verzoeken wordt vermeden.
Deze GraphQL-query demonstreert een geneste mutatie:
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
}
}
}
}
}
}
}