Ne ovat kolme operaatiotyyppiä, joista kukin on kytketty schemassa olevaan root-tyyppiin:
Ne ovat kolme operaatiotyyppiä, joista kukin on kytketty schemassa olevaan root-tyyppiin:
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
}
}
Mutationit ottavat argumentteja (usein input-objektin) ja niiden tulisi palauttaa muutettu data, jotta client voi päivittyä ilman toista pyyntöä. Peräkkäisyyssääntö on tärkeä: kaksi mutationia yhdessä dokumentissa — deposit ja sitten withdraw — ajautuvat aina tässä järjestyksessä, kun taas kaksi query-kenttää saattavat ratketa samanaikaisesti.
Haastattelijat tarkistavat, tiedätkö että queryt ovat rinnakkaisia ja sivuvaikutuksettomia, kun taas mutationit ovat peräkkäisiä, ja että subscription tarvitsee tilallisen transportin (WebSocket/SSE). Muutetun datan palauttaminen mutationista on se käytännön yksityiskohta, joka erottaa GraphQL:ää tuotannossa ajaneet niistä, jotka ovat vain lukeneet siitä.
Kirjasto IT-haastattelukysymyksiä yksityiskohtaisine vastauksineen — Juniorista Senioriin.
Lahjoita