Comment formater les sorties du connecteur HTTP
  • 31 Oct 2023
  • 6 Minutes à lire
  • Contributeurs

Comment formater les sorties du connecteur HTTP


Résumé de l’article

Apprenez à structurer les sorties des connecteurs HTTP.

Vue d'ensemble

L'éditeur de fonctions de connecteur dans Tulip vous permet de structurer les données retournées par vos fonctions de connecteur afin qu'elles soient utiles et utilisables dans vos applications. Dans cet article, nous allons couvrir les bases du formatage des Outputs des fonctions de connecteur en vous présentant :

  • Le concept de "sortie" d'un connecteur
  • Les outils disponibles pour formater les sorties
  • Les différents formats de sortie courants

Que sont les sorties ?

Les sorties sont utilisées pour définir et structurer les résultats de la fonction de connecteur. Elles permettent d'extraire les informations importantes pour vos applications à partir d'un corps de retour HTTP plus large.

Testing Outputs.gif

Comment structurer les sorties

La section Sorties se trouve en bas à gauche de l'éditeur de fonction de connecteur.

Outputs3.png

Pour commencer à ajouter des sorties, cliquez sur Ajouter des sorties de fonction.

Il est conseillé de donner à vos sorties un nom identifiable. Ces noms apparaissent comme des variables dans les applications, il est donc important de pouvoir les distinguer.

Screenshot 2023-03-23 at 9.57.16 AM.png

Pour comprendre les résultats d'une requête HTTP, il est important de comprendre d'abord la forme d'un objet renvoyé dans les résultats du test. Le diagramme ci-dessous illustre la façon dont les résultats sont divisés en sections d'objets et de tableaux.

Object Anatomy Diagram.png

:::(Info) (REMARQUE) Si vous n'avez jamais travaillé avec JSON, vous ne connaissez peut-être pas deux types de données essentiels, les objets et les tableaux. Les tableaux sont des listes de valeurs du même type. Par exemple, [1,2,3,5], ou [chêne, orme, aulne, caryer]. Les valeurs des tableaux sont contenues entre crochets, [ ]. Les objets sont un type de données permettant de contenir des paires clé/valeur. Les paires clé:valeur d'un objet peuvent être de différents types, y compris des tableaux et des objets imbriqués. Les objets sont contenus dans des crochets, { }. :: :

Pour plus d'informations sur les objets et les tableaux, consultez la rubrique Comprendre les tableaux et les objets dans les sorties de fonctions de connecteur.

Notation en points

Pour les connecteurs HTTP, les sorties utilisent un format appelé Dot Notation. La notation en points vous permet d'accéder à des valeurs à l'intérieur d'un objet. La notation en points est utile pour extraire uniquement ce dont vous avez besoin d'un corps de réponse JSON volumineux, et elle vous offre une plus grande souplesse dans la formulation des fonctions des connecteurs HTTP. Pour simplifier, il s'agit d'un format structuré basé sur des valeurs imbriquées les unes dans les autres.

Voyons comment la notation par points est utilisée dans les sorties des connecteurs à l'aide d'un exemple.

L'objet d'exemple suivant, appelé "employees", contient un tableau d'objets contenant des détails sur chaque employé. Si nous voulons uniquement accéder au titre de chaque employé, nous utiliserons la syntaxe suivante : employees.title. Nous utilisons un point pour accéder aux valeurs associées aux clés qui nous intéressent. Supposons que nous ne voulions obtenir que le premier résultat. Nous le spécifierions en ajoutant la position de l'index entre le nom de l'objet principal, "employés", et la valeur qui nous intéresse, "titre". La syntaxe serait la suivante : employees.0.title. Pour les objets plus complexes, il peut être nécessaire d'aller plus loin dans l'objet pour obtenir les informations souhaitées.

Outputs Ex2.png

Allons plus loin avec un autre exemple. Dans ce cas, disons que nous souhaitons créer une fonction de connecteur pour extraire les informations associées aux articles de la base de connaissances. Notre connecteur renvoie l'objet JSON suivant, nommé "data", qui contient des données sur un article particulier :

Test Results Article Ex.png

Si nous voulions seulement récupérer, par exemple, l'ID, le titre, la version et si l'article est caché ou non, nous devrions le spécifier en utilisant l'objet JSON "data". Nous devrions le spécifier à l'aide de sorties. Voyons comment la notation par points se présente dans la section "outputs" de l'éditeur :

Outputs to Test Results Annotated.png

Pour obtenir des résultats tels que "id" et "title", nous devons spécifier l'emplacement de ces résultats dans le JSON. Le corps de la sortie est "data", ce qui correspond à la première liste déroulante de la section Résultats du test. Chaque résultat contenu dans la liste déroulante "data" est imbriqué dans cet objet. Dans la section Sorties, un point signifie que l'on descend d'une couche dans l'objet "données".

:::(Info) (REMARQUE) Peu importe que le point soit placé dans le corps de l'objet ou devant les propriétés individuelles, tant qu'un point sépare chaque couche du JSON :: :

Outputs to Test Results2.png

Lorsque nous cliquons sur l'onglet Sorties dans la section Résultats du test, les sorties filtrent le reste des données afin que nous ne voyions que les informations qui nous intéressent.

Une autre façon d'écrire vos sorties est de le faire sur une seule ligne. Cela permet d'afficher le chemin complet en une seule requête.

Outputs Single Line.png

Pour faciliter l'écriture du chemin de sortie, vous pouvez également cliquer sur une ligne de données pour l'ajouter en tant que nouvelle sortie.

Create Output Path.gif

Pour plus d'informations sur l'utilisation de la notation par points, consultez cette ressource : Comment utiliser la notation par points pour accéder aux informations d'un objet JSON.

Résultats des sorties

Il existe de multiples façons de structurer les sorties, mais la manière dont vous le faites dépend entièrement de ce que vous voulez faire avec les données dans vos applications. Avant de commencer à structurer les sorties, réfléchissez à votre objectif final. Souhaitez-vous afficher plusieurs types de données dans des variables individuelles ? Ou avez-vous les mêmes types de données dans un tableau que vous voulez simplement analyser pour en extraire les informations pertinentes ?

Les exemples suivants sont tous basés sur la même fonction de connecteur et, dans chaque cas, le corps des résultats du test est le même. Les résultats, en revanche, varient en fonction de la manière dont ils sont structurés.

L'exemple suivant montre les sorties du connecteur pour le chemin JSON data.hits.slug. De la manière dont cette sortie est structurée, le connecteur renvoie un grand tableau de tous les slugs d'URL pour les articles de la base de connaissances. Dans nos applications, ce retour du connecteur sera accessible dans une variable de type tableau.

Output 3x540 v2.png

Nous pouvons structurer les sorties comme une liste d'objets et extraire des types de données individuels des résultats, en créant plusieurs objets de données qui peuvent être visibles individuellement dans les applications.

Output 540x3.png

Les listes d'objets sont des objets qui contiennent plusieurs types de données imbriqués. Pour utiliser des listes d'objets, il suffit de cliquer sur le type de sortie et de basculer le commutateur Liste dans le coin droit.

Outputs Lists Toggle.gif

Lorsque vous disposez d'une liste d'objets, vous pouvez facilement utiliser différents types de données en tant qu'éléments individuels dans vos applications.

Reprenons l'exemple précédent et faisons de notre chemin de sortie data.hits.slug une liste. Vous pouvez voir dans les résultats ci-dessous que Tulip structure ce retour de connecteur comme un tableau de slugs, avec chaque position d'index listée à côté de chaque valeur.

Test Results as Slugs.png

Avec cette compréhension des sorties à l'esprit, vous pouvez maintenant définir les sorties de vos propres fonctions de connecteur et optimiser les résultats retournés par vos connecteurs !

Pour en savoir plus


Vous avez trouvé ce que vous cherchiez ?

Vous pouvez également vous rendre sur community.tulip.co pour poser votre question ou voir si d'autres personnes ont rencontré une question similaire !


Cet article vous a-t-il été utile ?