
GraphQL est un langage de requête puissant qui permet aux clients de demander uniquement les données dont ils ont besoin à un serveur. Il vous permet d’augmenter la vitesse des requêtes puisque vous pouvez personnaliser les requêtes pour ne récupérer que des données spécifiques.
GraphQL possède 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 et les mutations GraphQL
Les requêtes et les mutations sont similaires en ce sens que vous les utilisez pour faire des demandes aux API GraphQL. Cependant, elles diffèrent par leur syntaxe, leur mode d’exécution et leur utilisation.
La syntaxe des requêtes et des mutations
La syntaxe de base d’une requête GraphQL est la suivante :
query getProduct($id: ID!) {
product(id: $id) {
name
price
}
}
Voici la signification de ce code :
- query est le mot clé qui identifie la requête comme une requête.
- getProduct est le nom de l’opération
- $id est la variable
- ID ! est le type de variable.
Si vous n’avez pas besoin des variables, omettez-les et définissez la requête comme ceci :
query getProducts {
products {
name
price
}
}
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 :
products {
name
price
}
Bien que ce format fonctionne, l’utilisation du mot-clé de la requête est préférable pour la lisibilité.
La syntaxe des mutations est similaire à celle des requêtes, à l’exception de l’utilisation du mot-clé mutation.
mutation AddNewProduct ($name: String!, $price: Number!) {
addProduct(name: $name, price: $price) {
name
price
}
}
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 alors 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 suivant
Utilisations contrastées des requêtes et des mutations
Vous devez utiliser les requêtes uniquement pour les opérations READ. Par exemple, utilisez une requête pour récupérer des produits à partir d’un point de terminaison d’API.
Utilisez les mutations pour les opérations CREATE, UPDATE et DELETE. Il s’agit essentiellement d’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 du nom d’un client via un point de terminaison de commandes.
Prendre l’habitude d’utiliser les requêtes et les mutations de manière appropriée
GraphQL est un langage d’interrogation puissant qui vous permet de demander uniquement les données dont vous avez besoin. Il existe deux opérations que vous pouvez effectuer 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 les requêtes pour les opérations READ et les mutations pour les opérations CREATE, UPDATE et DELETE.