Ajouter un champ déroulant dynamique : exemple HTTP

Les générateurs peuvent utiliser des flux d'aide pour remplir une liste déroulante Options lorsqu'un appel HTTP est nécessaire pour récupérer une liste d'éléments.

L'exemple suivant utilise deux flux pour créer la liste pour la liste déroulante :

  • Un flux de traitement qui façonne les résultats en objet de liste correct.

  • Un flux permettant de récupérer la liste

Flux de traitement

Le flux de traitement accepte chaque élément individuel de la liste d'éléments qui est récupérée par le flux itératif. Il sert à extraire la paire clé/valeur de chaque élément et à la renvoyer au flux d'appel dans la forme appropriée en vue de créer la liste déroulante.

Les flux utilisés pour renvoyer une liste d'éléments de liste déroulante doivent renvoyer un objet dans la forme suivante :

[
   {
      "value":"English",
      "key":"en_us"
   },
   {
      "value":"Chinese (Simplified)",
      "key":"zh_CN"
   },
   {
      "value":"Danish",
      "key":"da"
   }
]

Pour créer un flux de traitement :

  1. Passez à l'onglet Flux.

  2. Cliquez sur + Nouveau flux pour créer un flux.

  3. Ajoutez une carte Flux d'aide comme première carte de votre flux.

  4. Cliquez sur Enregistrer et nommez le flux Dropdown List Processing.

  5. Saisissez Processes a list of items and reformats it to be used as a dropdown comme description du flux, cochez la case Enregistrer toutes les données qui transitent par le flux, et cliquez sur Enregistrer.

  6. Cliquez sur Cliquer ou faire glisser pour créer pour ajouter un champ à la carte Flux d'aide.

  7. Ajoutez une étiquette, saisissez list_item comme nom, puis cliquez sur Entrée.

  8. Sélectionnez le type d'objet pour le champ dans la liste déroulante. La valeur par défaut est Texte.

  9. Cliquez sur Ajouter une fonction, puis ajoutez une carte de fonction Obtenir des objets multiples au flux.

  10. Faites glisser le champ list_item de la carte Flux d'aide dans l'entrée object de la carte Obtenir des objets multiples.

  11. Ajoutez les noms de clés des valeurs que vous souhaitez extraire en tant que sorties à la carte Obtenir des objets multiples.

  12. Pour ajouter deux champs à la carte Retour de contrôle de flux, cliquez sur Cliquer ou déposer ici pour créer et saisissez un nom de clé à deux reprises. Nommez un champ key et l'autre value. Lorsque la liste déroulante est créée, la clé sera affichée aux utilisateurs et la valeur sera transmise dans le flux. Il n'est pas nécessaire que la clé et la valeur soient nommées différemment.

  13. Faites glisser le champ depuis la carte Obtenir des objets multiples que l'utilisateur verra vers le champ key de la carte Renvoyer.

  14. Faites glisser le champ de la carte Obtenir des objets multiples qui sera transmis dans le flux vers le champ value de la carte Renvoyer.

  15. Cliquez sur Enregistrer et Exécuter.

Flux de récupération

Le flux de récupération sert à récupérer une liste d'objets du service. Il adresse une requête HTTP, identifie la liste d'objets dans la requête et transmet la liste au flux de traitement.

Pour créer un flux de récupération :

  1. Passez à l'onglet Flux. Cliquez sur + Nouveau flux pour créer un flux.

  2. Ajoutez une carte Flux d'aide comme première carte de votre flux.

  3. Cliquez sur Enregistrer et nommez le flux Get List of <object>, où <object> correspond au type d'objet récupéré.

  4. Saisissez Retrieves a list of <x> from the service and passes it to a helper Flow to be processed comme description du flux, cochez Enregistrer toutes les données qui transitent par le flux, et cliquez sur Enregistrer.

  5. Ajoutez une carte Flux d'appel comme première carte du flux.

  6. Cliquez sur Choisir le flux.

  7. Générez un flux httpHelper ou sélectionnez un flux http_helper précédemment créé. Consultez Générer un flux httpHelper. La carte est automatiquement remplie avec les entrées définies dans le flux http_helper.

  8. Saisissez GET comme méthode de requête.

  9. Saisissez l'URL liée du point de terminaison.

  10. Faites glisser l'objet auth depuis la carte Flux d'aide vers le champ de saisie Connexion de la carte Flux d'appel.

  11. Pour les sorties de la carte Flux d'appel, vous devrez définir les mêmes clés que les sorties du flux http_helper :

    • status_code (nombre)

    • headers (objet)

    • body (objet)

  12. Ajoutez une carte Obtenir des objets à votre flux.

  13. Faites glisser le champ corps depuis la carte Flux d'appel vers le champ objet de la carte Obtenir.

  14. La forme de la liste qui est renvoyée varie en fonction du service. Dans le champ path, vous devrez entrer la syntaxe de la notation par points pour localiser la liste. Par exemple, <object>.items. Remarque : il est possible que cette carte soit inutile.

  15. Pour nommer le champ de sortie item_list, cliquez sur la liste déroulante du champ, puis sur Personnaliser.

  16. Ajoutez une carte Mappage de liste au flux.

  17. Faites glisser le champ categories_list depuis la carte Obtenir vers le champ list de la carte Mapper.

  18. Cliquez sur Choisir le flux et sélectionnez le flux Traitement de liste déroulante de l'exemple précédent.

  19. Sélectionnez la liste déroulante à côté de list_item et cliquez sur Élément. Cela transmettra chaque élément de item_list au flux de traitement et renverra une nouvelle liste au format adéquat.

  20. Renommez la sortie sur la carte Mapper en new_item_list.

  21. Faites glisser l'objet auth depuis la carte Flux d'aide vers le champ de saisie Connexion de la carte Mappe de liste.

  22. Cliquez sur Cliquer ou déposer ici pour créer pour créer un champ sur la carte Retour de contrôle et étiquetez le champ output. Cette étiquette est nécessaire pour être reconnue par la plateforme.

  23. Faites glisser le champ new_item_list depuis la carte Mapper vers le champ output de la carte Renvoyer.

  24. Cliquez sur Enregistrer et Exécuter.

Étapes suivantes

Générer un flux httpHelper