Cómo dar formato a las salidas del conector HTTP
  • 31 Oct 2023
  • 6 Minutos para leer
  • Colaboradores

Cómo dar formato a las salidas del conector HTTP


Resumen del artículo

Aprenda a estructurar las salidas de los conectores HTTP.

Visión general

El editor de funciones de conector en Tulip te permite estructurar los datos devueltos por tus funciones de conector para que sean útiles y utilizables dentro de tus aplicaciones. En este artículo cubriremos los aspectos básicos del formateo de funciones de conector Output introduciéndote en:

  • El concepto de "Salida" de un conector
  • Herramientas disponibles para formatear salidas
  • Varios formatos de salida comunes

¿Qué son las salidas?

Las salidas se utilizan para definir y estructurar los resultados devueltos por la función del conector. Es la forma de extraer la información importante para sus aplicaciones de un cuerpo de retorno HTTP más grande.

Testing Outputs.gif

Cómo estructurar las salidas

Busque la sección Salidas en la parte inferior izquierda del Editor de funciones del conector.

Outputs3.png

Para comenzar a agregar salidas, haz clic en Agregar salidas de función.

Es una buena práctica nombrar tus salidas con una etiqueta que sea identificable. Estos nombres aparecen como Variables en las aplicaciones, por lo que es importante poder distinguirlas.

Screenshot 2023-03-23 at 9.57.16 AM.png

Para entender los resultados de una petición HTTP, es importante entender primero la forma de un objeto devuelto en los Resultados de la Prueba. El siguiente diagrama ilustra cómo se dividen los resultados en secciones de Objetos y Matrices.

Object Anatomy Diagram.png

:::(Info) (NOTA) Si no ha trabajado con JSON antes, puede que no esté familiarizado con dos tipos de datos críticos, objetos y matrices. Los arrays son listas de valores del mismo tipo. Por ejemplo, [1,2,3,5], o [roble, olmo, aliso, nogal]. Los valores de las matrices aparecen entre corchetes, [ ]. Los objetos son un tipo de datos para contener pares clave:valor. Los pares clave/valor de un objeto pueden ser de distintos tipos, incluidas las matrices y los objetos anidados. Los objetos se encierran entre llaves, { }. :::

Para más información sobre objetos y arrays, consulta Entendiendo Arrays y Objetos en las Salidas de las Funciones del Conector.

Notación de puntos

Para los conectores HTTP, las salidas utilizan un formato llamado JSONón de puntos}}. La notación por puntos permite acceder a valores dentro de un objeto. La notación de puntos es útil para extraer sólo lo que necesita de un gran cuerpo de respuesta JSON, y le da más flexibilidad en la formulación de funciones de conectores HTTP. En pocas palabras: es un formato estructurado basado en valores anidados unos dentro de otros.

Veamos con un ejemplo cómo se utiliza la notación por puntos en las salidas de los conectores.

El siguiente objeto de ejemplo, llamado "empleados", contiene una matriz de objetos con detalles sobre cada empleado. Si sólo queremos acceder al título de cada empleado, utilizaríamos la sintaxis: empleados.título. Estamos utilizando un punto para acceder a los valores asociados a las claves que nos interesan. Supongamos que sólo queremos obtener el primer resultado. Lo especificaríamos añadiendo la posición del índice entre el nombre del objeto principal, "empleados", y el valor que nos interesa, "título". La sintaxis sería la siguiente: empleados.0.titulo. En el caso de objetos más complejos, es posible que tengas que profundizar más en el objeto para obtener la información que deseas.

Outputs Ex2.png

Vayamos un paso más allá con otro ejemplo. En este caso, digamos que estamos interesados en crear una función de conector para extraer información asociada a los artículos de la Base de conocimientos. Nuestro conector devuelve el siguiente objeto JSON de nombre "data" que contiene datos sobre un artículo concreto:

Test Results Article Ex.png

Si sólo quisiéramos obtener, por ejemplo, el ID, el Título, la Versión y si el artículo está oculto o no. Necesitaríamos especificar esto usando salidas. Veamos cómo se ve la notación por puntos en la sección de resultados del editor:

Outputs to Test Results Annotated.png

Para obtener resultados como "id" y "title", necesitamos especificar dónde están esos resultados dentro del JSON. El cuerpo de la salida es "datos", que corresponde al primer desplegable de la sección Resultados de la prueba. Cada resultado dentro del desplegable "datos" está anidado dentro de ese objeto. En la sección Resultados, un punto significa que se ha profundizado una capa en el objeto "datos".

:::(Info) (NOTA) No importa si el punto se coloca en el cuerpo, o delante de las propiedades individuales, siempre y cuando haya un punto separando cada capa del JSON. :::

Outputs to Test Results2.png

Cuando hacemos clic en la pestaña Salidas de la sección Resultados de la prueba, las salidas filtramos el resto de los datos para que sólo veamos la información que nos interesa.

Otra forma de escribir las salidas es en una sola línea. Esto muestra la ruta completa en una sola consulta.

Outputs Single Line.png

Para escribir fácilmente la ruta de salida, también puede hacer clic en una fila de datos para añadirla como nueva salida.

Create Output Path.gif

Para obtener más información sobre el uso de la notación de puntos, consulte este recurso: Cómo utilizar la notación por puntos para acceder a la información de un objeto JSON.

Resultados de salida

Existen múltiples formas de estructurar las salidas, pero la forma de hacerlo depende totalmente de lo que quieras hacer con los datos en tus aplicaciones. Antes de empezar a estructurar los resultados, piense en su objetivo final. ¿Quiere mostrar múltiples tipos de datos en variables individuales? ¿O tiene los mismos tipos de datos en una matriz que simplemente desea analizar para obtener información relevante?

Los siguientes ejemplos se basan todos en la misma función de conector, y en cada caso el cuerpo de los resultados de la prueba es el mismo. Sin embargo, los resultados varían en función de cómo estén estructurados.

El siguiente ejemplo muestra los resultados del conector para la ruta JSON data.hits.slug. De la forma en que está estructurada esta salida, el conector devuelve una gran matriz de todos los slugs de URL para los artículos de la base de conocimientos. En nuestras aplicaciones, esta salida del conector será accesible dentro de una variable array.

Output 3x540 v2.png

Podemos estructurar las salidas como una lista de objetos y extraer tipos de datos individuales de los resultados, creando múltiples objetos de datos que pueden ser visibles individualmente en las aplicaciones.

Output 540x3.png

Las listas de objetos son objetos que contienen múltiples tipos de datos anidados en su interior. Para utilizar listas de objetos, haga clic en el tipo de salida y active el interruptor Lista situado en la esquina derecha.

Outputs Lists Toggle.gif

Cuando dispone de una lista de objetos, puede utilizar fácilmente diferentes tipos de datos como piezas individuales de datos en sus aplicaciones.

Si volvemos al ejemplo anterior, hagamos que nuestra ruta de salida data.hits.slug sea una lista. Puedes ver en los resultados de abajo que Tulip está estructurando este conector de retorno como un array de slugs, con cada posición de índice listada al lado de cada valor.

Test Results as Slugs.png

Con esta comprensión de las salidas en mente, ahora puedes asignar las salidas a tus propias funciones de conector y optimizar los resultados devueltos por tus conectores.

Más información


¿Ha encontrado lo que buscaba?

También puedes dirigirte a community.tulip.co para publicar tu pregunta o ver si otros se han enfrentado a una pregunta similar.


¿Te ha sido útil este artículo?