De er de tre operationstyper, hver knyttet til en root-type i skemaet:
De er de tre operationstyper, hver knyttet til en root-type i skemaet:
query GetPost { # read
post(id: "1") { title }
}
mutation AddComment { # write; returns the created object so the client updates its cache
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # live: fires every time a comment is added
commentAdded(postId: "1") {
id
text
}
}
Mutations tager argumenter (ofte et input-objekt) og bør returnere de berørte data, så klienten kan opdatere uden endnu en forespørgsel. Den sekventielle regel betyder noget: to mutations i ét dokument — deposit derefter withdraw — kører altid i den rækkefølge, hvorimod to query-felter kan resolves samtidigt.
Interviewere tjekker, at du ved, at queries er parallelle og fri for sideeffekter, mens mutations er sekventielle, og at en subscription kræver en stateful transport (WebSocket/SSE). At returnere opdaterede data fra en mutation er den praktiske detalje, der adskiller folk, der har leveret GraphQL, fra dem, der kun har læst om det.
Et bibliotek af IT-interviewspørgsmål med detaljerede svar — fra Junior til Senior.
Donér