Formato degli output del connettore HTTP

Prev Next

Scopri come strutturare gli output del connettore HTTP.

Panoramica

L’editor delle funzioni dei connettori in Tulip consente di strutturare i dati restituiti dalle funzioni dei connettori in modo che siano utili e utilizzabili all’interno delle applicazioni. In questo articolo tratteremo le nozioni di base sulla formattazione degli output Output delle funzioni dei connettori, introducendo:

  • Il concetto di output di un connettore
  • Gli strumenti disponibili per la formattazione degli output
  • Vari formati di output comuni

Cosa sono gli output?

Gli output vengono utilizzati per definire e strutturare i risultati restituiti dalla funzione di connettore. Consentono di estrarre le informazioni importanti per le tue app da un corpo di risposta HTTP più ampio.

Testing Outputs.gif

Come strutturare gli output

Cerca la sezione " Uscite " in basso a sinistra nell'Editor delle funzioni del connettore.

Outputs3.png

Per iniziare ad aggiungere output, fare clic su Aggiungi output della funzione.

È buona norma assegnare alle uscite un nome che ne consenta l’identificazione. Questi nomi appaiono come Variabili nelle app, quindi è importante poterle distinguere.

Screenshot 2023-03-23 at 9.57.16 AM.png

Per comprendere i risultati di una richiesta HTTP, è importante innanzitutto comprendere la struttura di un oggetto restituito nei " Test Results". Il diagramma sottostante illustra come i risultati siano suddivisi in sezioni di "Objects" e "Arrays".

Object Anatomy Diagram.png

NOTE

If you haven’t worked with JSON before, you may be unfamiliar with two critical datatypes, objects and arrays. Arrays are lists of values of the same type. For example, [1,2,3,5], or [oak, elm, alder, hickory]. Values in arrays are contained within square brackets, [ ]. Objects are a datatype for holding key:value pairs. The key:value pairs within an object can be of multiple different types, including arrays and nested objects. Objects are contained with curly brackets, { }.

Per ulteriori informazioni su oggetti e array, consulta la sezione "Comprendere gli array e gli oggetti negli output delle funzioni del connettore".

Notazione con il punto

Per i connettori HTTP, gli output utilizzano un formato denominato . La notazione con punto consente di accedere ai valori all’interno di un oggetto. La notazione con il punto è utile per estrarre solo ciò che serve da un corpo di risposta JSON di grandi dimensioni e offre maggiore flessibilità nella formattazione delle funzioni dei connettori HTTP. In parole povere: si tratta di un formato strutturato basato su valori annidati l’uno nell’altro.

Analizziamo con un esempio come viene utilizzata la notazione con il punto nelle uscite dei connettori.

L’oggetto di esempio seguente, denominato “employees”, contiene un array di oggetti con i dettagli relativi a ciascun dipendente. Se volessimo accedere solo al titolo di ciascun dipendente, useremmo la sintassi: employees.title. Stiamo utilizzando un punto per accedere ai valori associati alle chiavi che ci interessano. Supponiamo di voler ottenere solo il primo risultato. Lo specificheremmo aggiungendo la posizione dell’indice tra il nome dell’oggetto principale, “employees”, e il valore che ci interessa, “title”. La sintassi sarebbe: employees.0.title. Per oggetti più complessi, potrebbe essere necessario addentrarsi ulteriormente nell’oggetto per estrarre le informazioni desiderate.

Outputs Ex2.png

Facciamo un passo avanti con un altro esempio. In questo caso, supponiamo di voler creare una funzione di connettore per estrarre le informazioni associate agli articoli della Knowledge Base. Il nostro connettore restituisce il seguente oggetto JSON denominato “data” contenente i dati relativi a un particolare articolo:

Test Results Article Ex.png

Se volessimo estrarre, ad esempio, solo l’ID, il titolo, la versione e se l’articolo è nascosto o meno, dovremmo specificarlo utilizzando gli output. Vediamo come appare la notazione con il punto nella sezione degli output dell’editor:

Outputs to Test Results Annotated.png

Per estrarre risultati come “id” e “title”, dobbiamo specificare dove si trovano tali risultati all’interno del JSON. Il corpo dell’output è “data”, corrispondente al primo menu a tendina nella sezione “Test Results ”. Ogni risultato presente nel menu a tendina “data” è annidato all’interno di quell’oggetto. Nella sezione “Outputs”, un punto indica che si scende di un livello nell’oggetto “data”.

NOTE

It doesn’t matter whether the dot is placed in the body, or in front of individual properties, so long as there is a dot separating each layer of the JSON.

Outputs to Test Results2.png

Quando facciamo clic sulla scheda “Outputs” nella sezione “Test Results ”, filtriamo il resto dei dati in modo da visualizzare solo le informazioni che ci interessano.

Un altro modo per scrivere i risultati è su una singola riga. In questo modo viene mostrato il percorso completo in un’unica query.

Outputs Single Line.png

Per semplificare la scrittura del percorso di output, è anche possibile cliccare su una riga di dati per aggiungerla come nuovo output.

Create Output Path.gif

Per ulteriori informazioni sull’uso della notazione con il punto, consulta questa risorsa: Processmaker: Notazione JSON con il punto.

Risultati di output

Esistono diversi modi per strutturare le uscite, ma la scelta dipende interamente da ciò che si desidera fare con i dati nelle proprie applicazioni. Prima di iniziare a strutturare le uscite, è bene riflettere sull’obiettivo finale. Vuoi visualizzare più tipi di dati in singole variabili? Oppure hai gli stessi tipi di dati in un unico array che desideri semplicemente analizzare per ricavarne le informazioni rilevanti?

Gli esempi seguenti si basano tutti sulla stessa funzione del connettore e, in ciascun caso, il corpo dei risultati del test è lo stesso. Gli output, tuttavia, variano a seconda di come sono strutturati.

L’esempio seguente mostra come il connettore genera l’output per il percorso JSON data.hits.slug. Data la struttura di questo output, il connettore restituisce un ampio array contenente tutti gli slug degli URL degli articoli della Knowledge Base. Nelle nostre applicazioni, questo risultato del connettore sarà accessibile all’interno di una variabile array.

Output 3x540 v2.png

Possiamo strutturare i risultati come un elenco di oggetti ed estrarre singoli tipi di dati dai risultati, creando più oggetti di dati che possono essere visualizzati singolarmente nelle applicazioni.

Output 540x3.png

Gli elenchi di oggetti sono oggetti che contengono al loro interno più tipi di dati annidati. Per utilizzare gli elenchi di oggetti, fare clic sul tipo di output e attivare l’interruttore “Elenco” nell’angolo destro.

Outputs Lists Toggle.gif

Quando si dispone di un elenco di oggetti, è possibile utilizzare facilmente diversi tipi di dati come singoli elementi nelle proprie applicazioni.

Se torniamo a un esempio precedente, trasformiamo il nostro percorso di output data.hits.slug in un elenco. Nei risultati riportati di seguito è possibile notare che Tulip struttura il risultato di questo connettore come un array di slug, con ogni posizione dell’indice elencata accanto a ciascun valore.

Test Results as Slugs.png

Tenendo presente questa comprensione delle uscite, ora puoi mappare le uscite alle tue funzioni di connettore e ottimizzare i risultati restituiti dai tuoi connettori!

Utilizza Tulip AI per l’estrazione degli output

Strutturate rapidamente i vostri output, sfruttando gli esempi e i concetti già trattati nell’articolo, come la ( e l’Elenco di oggetti).

Tulip AI offre una potente scorciatoia per analizzare automaticamente la risposta JSON nei tuoi risultati di test e generare i percorsi corrispondenti in notazione Dot. Cerca di replicare la struttura degli oggetti annidati, ma appiattirà array o oggetti complessi ove necessario.

Tulip AI non altera i tuoi output e le tue estrazioni esistenti. Genera solo output nuovi o non specificati per accelerare il processo iniziale di configurazione degli output.

Una volta che Tulip AI ha generato gli output, è necessario esaminarli alla luce dell’obiettivo della propria applicazione.

Durante la revisione, segui queste best practice:* Rimuovi eventuali output non necessari* Rinomina le variabili per maggiore chiarezza* Modifica manualmente la struttura dell’output (ad esempio, assicurandoti che gli array siano correttamente impostati come elenchi di oggetti)

Questi passaggi garantiscono che vengano estratti solo i dati necessari per l’applicazione.

Image

Approfondimenti

{{snippet.Hai trovato quello che cercavi?}}