Acestea sunt cele trei tipuri de operații, fiecare mapat la un tip rădăcină din schemă:
Acestea sunt cele trei tipuri de operații, fiecare mapat la un tip rădăcină din schemă:
query GetPost { # citire
post(id: "1") { title }
}
mutation AddComment { # scriere; returnează obiectul creat astfel încât clientul să-și actualizeze cache-ul
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # live: se declanșează de fiecare dată când se adaugă un comentariu
commentAdded(postId: "1") {
id
text
}
}
Mutațiile primesc argumente (adesea un obiect input) și ar trebui să returneze datele afectate, ca clientul să se poată reîmprospăta fără o a doua cerere. Regula secvențială contează: două mutații în același document — deposit apoi withdraw — rulează întotdeauna în acea ordine, în timp ce două câmpuri dintr-o interogare s-ar putea rezolva simultan.
Intervievatorii verifică dacă știi că interogările sunt paralele și fără efecte secundare, în timp ce mutațiile sunt secvențiale și că o subscription are nevoie de un transport cu stare (WebSocket/SSE). Returnarea datelor actualizate dintr-o mutație este detaliul practic care îi separă pe cei care au livrat GraphQL în producție de cei care doar au citit despre el.
O bibliotecă de întrebări de interviu IT cu răspunsuri detaliate — de la Junior la Senior.
Donează