GraphQL est un langage de requête puissant qui permet aux clients de demander uniquement les données dont ils ont besoin à partir d'un serveur. Cela vous aide à augmenter la vitesse des requêtes, car vous pouvez personnaliser les requêtes pour ne récupérer que des données spécifiques.
GraphQL a deux types d'opérations: les requêtes et les mutations. Malgré leurs similitudes, ils servent des objectifs assez différents.
Différences entre les requêtes GraphQL et les mutations
Les requêtes et les mutations sont similaires en ce sens que vous les utilisez pour envoyer des requêtes à API GraphQL. Cependant, ils diffèrent par la syntaxe, le mode d'exécution et l'utilisation.
La syntaxe des requêtes et des mutations
La syntaxe de base d'une requête GraphQL est la suivante :
requête getProduct($id: ID !) {
produit (id: $id) {
nom
prix
}
}
Voici à quoi correspond ce code :
- query est le mot-clé qui identifie la requête en tant que requête.
- getProduct est le nom de l'opération
- $id est la variable
- IDENTIFIANT! est le type de variable.
Si vous n'avez pas besoin des variables, omettez-les et définissez la requête comme ceci :
requête getProducts {
des produits {
nom
prix
}
}
Dans certaines situations, vous pouvez omettre le mot-clé et le nom de la requête, en écrivant une requête GraphQL comme celle-ci :
des produits {
nom
prix
}
Bien que ce format fonctionne, l'utilisation du mot clé de requête est meilleure pour la lisibilité.
La syntaxe des mutations est similaire à celle des requêtes, à l'exception de l'utilisation du mot-clé mutation.
mutation AddNewProduct ($nom: chaîne!, $prix: nombre !) {
addProduct (nom: $nom, prix: $prix) {
nom
prix
}
}
Différents modes d'exécution
Une autre différence entre une requête et une mutation est que les requêtes s'exécutent en parallèle tandis que les mutations s'exécutent de manière synchrone. Lorsque vous exécutez deux mutations, elles s'exécutent l'une après l'autre, dans l'ordre
Utilisations contrastées des requêtes et des mutations
Vous devez utiliser des requêtes pour les opérations READ uniquement. Par exemple, utilisez une requête lors de la récupération de produits à partir d'un point de terminaison d'API.
Utilisez des mutations pour les opérations CREATE, UPDATE et DELETE. Ce sont essentiellement des opérations qui modifient les données stockées dans la base de données.
Par exemple, utilisez une mutation lors de la mise à jour d'un nom de client via un point de terminaison de commandes.
Prenez l'habitude d'utiliser les requêtes et les mutations de manière appropriée
GraphQL est un langage de requête puissant qui vous permet de demander uniquement les données dont vous avez besoin. Vous pouvez effectuer deux opérations dans GraphQL: les requêtes et les mutations.
Ces opérations diffèrent par leur syntaxe, leur exécution et leurs utilisations prévues. Vous devez utiliser des requêtes pour les opérations READ et des mutations pour les opérations CREATE, UPDATE et DELETE.