- Stampa
Come formattare gli output del connettore HTTP
Imparare a strutturare gli output dei connettori HTTP.
Panoramica
L'editor di funzioni connettore di Tulip consente di strutturare i dati restituiti dalle funzioni connettore in modo che siano utili e utilizzabili nelle applicazioni. In questo articolo tratteremo le basi della formattazione delle funzioni connettore Output, presentandovi:
- 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 sono utilizzati per definire e strutturare i risultati restituiti dalla funzione connettore. Sono il modo in cui si estraggono le informazioni importanti per le applicazioni da un corpo di ritorno HTTP più ampio.
Come strutturare gli output
La sezione Output si trova in basso a sinistra nell'editor della funzione connettore.
Per iniziare ad aggiungere le uscite, fare clic su Aggiungi uscite di funzione.
È buona norma assegnare alle uscite un nome identificabile. Questi nomi appaiono come variabili nelle applicazioni, quindi è importante poterli distinguere.
Per comprendere i risultati di una richiesta HTTP, è importante innanzitutto capire la forma di un oggetto restituito nei risultati del test. Il diagramma seguente illustra come i risultati siano suddivisi in sezioni di oggetti e array.
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, consultare la sezione Comprendere gli array e gli oggetti negli output delle funzioni del connettore.
Notazione a punti
Per i connettori HTTP, gli output utilizzano un formato chiamato Dot Notation. La notazione a punti consente di accedere ai valori all'interno di un oggetto. La notazione a punti è 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.
Vediamo come si usa la notazione a punti negli output dei connettori con un esempio.
Il seguente oggetto di esempio, chiamato "employees", contiene un array di oggetti con i dettagli di ciascun dipendente. Se si volesse accedere solo al titolo di ciascun dipendente, si userebbe la sintassi: employees.title. Utilizziamo un punto per accedere ai valori associati alle chiavi che ci interessano. Supponiamo di voler ottenere solo il primo risultato. Lo specificheremo aggiungendo la posizione dell'indice tra il nome dell'oggetto principale, "employees", e il valore che ci interessa, "title". La sintassi sarebbe: dipendenti.0.titolo. Per oggetti più complessi, potrebbe essere necessario andare più a fondo nell'oggetto per ottenere le informazioni desiderate.
Facciamo un ulteriore passo avanti con un altro esempio. In questo caso, supponiamo di essere interessati a creare una funzione connettore per prelevare le informazioni associate agli articoli della Knowledge Base. Il nostro connettore restituisce il seguente oggetto JSON di nome "data", contenente dati su un particolare articolo:
Se volessimo estrarre solo, ad esempio, l'ID, il Titolo, la Versione e se l'articolo è nascosto o meno. Dovremmo specificarlo usando gli output. Vediamo come appare la notazione a punti nella sezione outputs dell'editor:
Per estrarre risultati come "id" e "title", dobbiamo specificare dove si trovano questi risultati all'interno del JSON. Il corpo dell'output è "data", corrispondente al primo menu a tendina della sezione Risultati del test. Ogni risultato all'interno del menu a tendina "data" è annidato in quell'oggetto. Nella sezione Output, un punto indica la profondità di un livello nell'oggetto "data".
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.
Quando si fa clic sulla scheda Output nella sezione Risultati del test, gli output filtrano il resto dei dati in modo da vedere solo le informazioni che ci interessano.
Un altro modo per scrivere gli output è in una singola riga. Questo mostra il percorso completo in una query.
Per scrivere il percorso di output in modo semplice, si può anche fare clic su una riga di dati per aggiungerla come nuovo output.
Per ulteriori informazioni sull'uso della notazione a punti, consultare questa risorsa: Come usare la notazione a punti per accedere alle informazioni in un oggetto JSON.
Risultati dell'output
Esistono diversi modi per strutturare gli output, ma il modo in cui lo si fa dipende interamente da ciò che si vuole fare con i dati nelle applicazioni. Prima di iniziare a strutturare gli output, bisogna pensare al proprio obiettivo finale. Si desidera visualizzare più tipi di dati in singole variabili? Oppure avete gli stessi tipi di dati in un array che volete semplicemente analizzare per trovare le informazioni rilevanti?
Gli esempi seguenti sono tutti basati sulla stessa funzione connettore e in ogni caso il corpo dei risultati del test è lo stesso. I risultati, tuttavia, variano in base alla loro struttura.
L'esempio seguente mostra l'output del connettore per il percorso JSON data.hits.slug. Per come è strutturato questo output, il connettore restituisce un grande array di tutti gli slug degli URL degli articoli della Knowledge Base. Nelle nostre applicazioni, questo output del connettore sarà accessibile all'interno di una variabile array.
Possiamo strutturare gli output come un elenco di oggetti ed estrarre i singoli tipi di dati dai risultati, creando più oggetti di dati che possono essere visibili singolarmente nelle applicazioni.
Gli elenchi di oggetti sono oggetti che contengono più tipi di dati annidati al loro interno. Per utilizzare gli elenchi di oggetti, fare clic sul tipo di output e selezionare l'interruttore Elenco nell'angolo destro.
Quando si dispone di un elenco di oggetti, è possibile utilizzare facilmente tipi di dati diversi come singoli dati nelle applicazioni.
Se torniamo all'esempio precedente, rendiamo il nostro percorso di output data.hits.slug un elenco. Nei risultati qui sotto si può vedere che Tulip struttura la restituzione di questo connettore come un array di slug, con ogni posizione di indice elencata accanto a ogni valore.
Tenendo presente questa comprensione degli output, ora è possibile mappare gli output per le proprie funzioni di connettore e ottimizzare i risultati restituiti dai propri connettori!
Ulteriori letture
- Usare i connettori HTTP nelle applicazioni
- Visualizzazione di elenchi interattivi di record di tabelle o di output di connettori nelle applicazioni
Avete trovato quello che cercavate?
Potete anche andare su community.tulip.co per porre la vostra domanda o vedere se altri hanno affrontato una questione simile!