Comment utiliser les alias GraphQL

Comment utiliser les alias GraphQL

Cet article accompagne une vidéo de la chaîne YouTube ShopifyDevs. Chuck Kosman, ingénieur de lancement chez Shopify Plus, vous présente certaines des principales fonctionnalités de GraphQL qui permettent de créer plus facilement des applications à grande échelle. Cet article est le deuxième d'une série de 5 tutoriels de formation conçus pour améliorer votre compréhension des avantages de GraphQL.

Dans ce tutoriel, Chuck Kosman explique le concept des alias dans GraphQL : que sont les alias, pourquoi ils sont utiles et comment les utiliser pour améliorer votre efficacité.

Qu'est-ce qu'un alias ?

Reprenons là où nous nous étions arrêtés dans le dernier tutoriel. Dans GraphiQL, nous utilisions une requête nommée ainsi que des variables dans la boutique de développement.

Pour travailler à grande échelle, nous avons aussi besoin d'alias. Pour faire simple, les alias sont une façon de renommer les données qui sont renvoyées en résultat. Dans l’exemple ci-dessous, les noms des champs product, title et description correspondent exactement aux clés qui sont renvoyées dans la réponse JSON pour cette requête.

Les alias permettent de renommer ces éléments.

Pour voir comment cela fonctionne, entrons mySuperCoolTitle:, puis le nom du champ dans le schéma. Cliquons sur le bouton d'exécution, et nous obtenons cette nouvelle structure.

Nous voulons récupérer ce champ, mais nous demandons à GraphQL de renommer la clé correspondante.

Vous pouvez donc faire des changements légers avec des alias, mais ils sont vraiment utiles si vous cherchez à être plus efficace. Vous les utiliserez principalement si vous souhaitez demander plusieurs fois le même champ dans une même requête.

« Les alias sont vraiment utiles si vous cherchez à être plus efficace. »

Supprimons l'alias mySuperCoolTitle:, puisqu'il n'est pas vraiment utile dans cette application.

Nous avons donc product, title et description. Enlevons la syntaxe de variable pour l'instant, nous allons isoler les alias, pour voir comment ils sont codés en dur. Supprimons entièrement le nom de l'objet ProductTitleAndDescription($id: ID!). Revenons légèrement en arrière pour remplacer cela par une façon très directe de faire les choses. Nous sommes donc revenus à la case départ.

Nous récupérons les données title et description de ce produit.

Utiliser les alias : demander plusieurs objets avec une seule requête

Et si nous souhaitons récupérer plusieurs objets dans une même requête ?

Disons que nous connaissons les identifiants de plusieurs produits et que nous souhaitons récupérer plus d'un produit. Essayons de copier ces champs et de les coller en dessous, en remplaçant la valeur existante par une nouvelle valeur pour product.

Nous savons que c'est un autre produit. Nous allons cliquer sur le bouton d'exécution pour cette requête, mais nous allons sûrement avoir une erreur ici. Assurons-nous d'abord que la syntaxe soit correcte. Corrigeons-la, puis cliquons sur le bouton d'exécution.

Un message d'erreur nous informe que nous avons indiqué le champ product, mais que nous avons fourni un argument différent à chaque fois que nous l'avons appelé, ce qui n'est pas autorisé. Si nous fournissons un champ, les arguments pour ce champ doivent être identiques.

Cela serait vraiment redondant de fournir exactement le même bloc avec le même identifiant deux fois, et ce n'est pas ce que nous voulons. Nous voulons deux identifiants de produits différents dans la même requête.

Améliorer l'efficacité à grande échelle : créer des alias de produits nommés

Nous pouvons donner le nom que nous voulons aux alias. Choisissons ici des noms très simples. Appelons le premier product1 et le deuxième product2, puis cliquons sur le bouton d'exécution.

C'est grâce aux alias que nous avons pu utiliser deux fois le champ product avec des arguments différents.

Dans le premier exemple, nous avons utilisé les alias simplement pour renommer un champ, mais leur principale utilisation à grande échelle est pour éviter les collisions, afin de pouvoir faire plusieurs requêtes en une. Plus précisément, afin de pouvoir demander le même champ plus d'une fois dans une seule requête. Cela peut être très efficace à grande échelle, car vous n'avez plus à faire une requête réseau différente à chaque fois que vous souhaitez récupérer un produit par son identifiant, ce qui pourrait être très long.

Disons par exemple que vous avez besoin d'un produit et que vous avez manuellement sélectionné un certain nombre de produits recommandés. Vous souhaiterez probablement récupérer tous ces produits en même temps. C'est exactement ce que les alias vous permettent de faire, et c’est là leur principale utilité.

Rejoignez le programme des partenaires de Shopify

Inscrivez-vous gratuitement au programme partenaires de Shopify. Accédez à des outils et ressources pour aider les marchands Shopify à développer leur activité et faites partie d’un écosystème riche en opportunités.

Devenir partenaire Shopify

Which method is right for you?Publié par Maud Leuenberger. Maud est la rédactrice en chef du blog français de Shopify.

Texte original par Chuck Kosman. Traduction par Solenn Marchand.

Sujets:

Développez votre entreprise avec le programme Partenaires Shopify

En savoir plus