Jsou to tři typy operací, každý mapovaný na kořenový typ ve schématu:
Jsou to tři typy operací, každý mapovaný na kořenový typ ve schématu:
query GetPost { # čtení
post(id: "1") { title }
}
mutation AddComment { # zápis; vrací vytvořený objekt, aby klient aktualizoval cache
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # živě: spustí se pokaždé, když je přidán komentář
commentAdded(postId: "1") {
id
text
}
}
Mutace přijímají argumenty (často objekt input) a měly by vracet dotčená data, aby se klient mohl obnovit bez druhého požadavku. Sekvenční pravidlo je důležité: dvě mutace v jednom dokumentu — deposit a pak withdraw — vždy proběhnou v tomto pořadí, zatímco dvě pole dotazu se mohou resolvovat souběžně.
Tazatelé ověřují, že víte, že dotazy jsou paralelní a bez vedlejších efektů, zatímco mutace jsou sekvenční, a že subscription potřebuje stavový transport (WebSocket/SSE). Vracení aktualizovaných dat z mutace je praktický detail, který odděluje ty, kdo GraphQL nasadili, od těch, kdo o něm jen četli.
Knihovna IT otázek k pohovoru s podrobnými odpověďmi — od Junior po Senior.
Přispět