Ce sont les trois types d'opérations, chacun associé à un type racine dans le schéma :
Ce sont les trois types d'opérations, chacun associé à un type racine dans le schéma :
query GetPost { # lecture
post(id: "1") { title }
}
mutation AddComment { # écriture ; renvoie l'objet créé pour que le client mette à jour son cache
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # temps réel : se déclenche à chaque ajout de commentaire
commentAdded(postId: "1") {
id
text
}
}
Les mutations prennent des arguments (souvent un objet input) et devraient renvoyer les données affectées afin que le client puisse se rafraîchir sans seconde requête. La règle du séquentiel compte : deux mutations dans un même document — deposit puis withdraw — s'exécutent toujours dans cet ordre, alors que deux champs de query peuvent se résoudre de façon concurrente.
Les recruteurs vérifient que vous savez que les queries sont parallèles et sans effet de bord tandis que les mutations sont séquentielles, et qu'une subscription nécessite un transport avec état (WebSocket/SSE). Renvoyer les données mises à jour depuis une mutation est le détail pratique qui distingue ceux qui ont livré du GraphQL de ceux qui n'ont fait qu'en lire la théorie.
Une bibliothèque de questions d'entretien IT avec des réponses détaillées — du Junior au Senior.
Faire un don