Chiamata REST con parametri JSON

Da wiki.maggioli.it.
Jump to navigation Jump to search

Questa action permette di invocare un servizio REST passando in input, e ottenendo in output, parametri e risultati in formato JSON.

La maschera di configurazione permette di definire la struttura degli oggetti in input e in output, oltre all'URL del servizio, alla modalità POST/GET e al formato delle date che si intende utilizzare per lo scambio delle informazioni.

La seconda parte dell'interfaccia permette di definire la struttura dell'oggetto JSON inviato come parametro della chiamata. L'oggetto può contenere solo attributi di tipo semplice (scalari oppure array) e non permette una alberatura di attributi annidati.

Una volta definita la struttura dai parametri è possibile, impostando dei valori statici, effettuare un test di chiamata al servizion REST. Questo risponderà con un oggetto JSON che sarà poi possibile replicare nella parte di definizione dell'oggeto risultato, permettendo in questo modo di copiare i valori tornati negli output della action.

Definizione delle strutture di I/O

Come sopra accennato le strutture di invio e ricezione dati sono rappresentate da oggetti JSON ad un livello. Le operazioni di definizione della struttura di invio e della struttura di ricezione sono simili, e differiscono solamente per il comportamento della colonna valore.

Nome attributo JSON

Il nome dell'attributo che viene usato per la memorizzazione oppure la lettura del dato

Tipo

Il tipo del dato che si intende inviare oppure ricevere. I tipi possibili sono, STRING, LONG, DOUBLE, DATE e le varianti array dei medesimi tipi.

Valore

In fase di invio è possibile specificare un valore statico oppure un attributo del workflow da dove prendere tale valore. Se l'attributo non è del tipo indicato, il workflow tenta una conversione a runtime dal dato. Se tale conversione non è possibile viene sollevato un errore di runtime.

In fase di ricezione è invece possibile specificare dove copiare il valore ricevuto. Se il valore ricevuto rappresenta una enumerazione conosciuta è possibile utilizzarlo come condizione nel workflow per la selezione di un arco di uscita dal nodo.