Salta ai contenuti

Introduzione agli scenari

Uno scenario è un grafo. I riquadri (le azioni) sono collegati da collegamenti che trasportano valori e segnali. Il motore esegue un riquadro appena tutti i suoi input cablati hanno ricevuto qualcosa.

È ciò che, in Restorm, sostituisce gli script di pre-richiesta e post-richiesta degli altri client di API — con un vantaggio decisivo: il flusso si vede.

Clic destro nell’albero ▸ Aggiungi ▸ Scenario.

Uno scenario completo nell’editor: un nodo Input/Param, una richiesta HTTP, un’asserzione sul codice di stato, un’estrazione Handlebars, una condizione If e un Log

  • Concatenare chiamate e passare un valore dall’una all’altra: creare una risorsa, recuperarne l’identificatore, usarlo nella chiamata successiva.
  • Verificare: asserzioni, validazione di uno schema JSON, confronto.
  • Diramare e iterare: if, switch, for, forEach, while, retry.
  • Orchestrare più trasporti: aprire una sottoscrizione MQTT, innescare un’azione via HTTP, verificare che il messaggio arrivi.
  • Automatizzare: lo stesso scenario gira nell’interfaccia e senza finestra in integrazione continua.
NozioneChe cos’è
Riquadro (nodo)Un’azione. Sono disponibili novanta tipi — si veda il catalogo
PortaUn punto di collegamento su un riquadro, tipizzato e orientato
Collegamento (arco)Un filo tra una porta di output e una porta di input
SelettoreUn percorso applicato al valore in transito su un collegamento (data.items[0].id)
Variabile di runUn valore denominato, impostato e riletto durante l’esecuzione
ParametroUn input dello scenario, fornito al lancio o dalla riga di comando
UscitaUn risultato esposto al chiamante dello scenario

Non sono elencate nella configurazione: fanno parte della cornice del riquadro.

PortaVersoRuolo
inInputIl grilletto. Accetta più collegamenti in ingresso e attende allora che tutti siano arrivati — è la barriera «attendere che più rami siano terminati»
errorOutputLa via di fallimento. Tutto ciò che va male passa da qui
doneOutputEmesso quando il riquadro e tutto il suo sottografo a valle hanno finito

La distinzione tra done e un’uscita di valore è importante: un valore esce appena viene prodotto, done attende che tutto ciò che ne dipende sia terminato.

  1. Aggiungere un’azione Richiesta HTTP e collegarla a una richiesta esistente.
  2. Aggiungere un’azione Assert, operatore eq.
  3. Tracciare un collegamento dalla porta response della richiesta all’input a dell’asserzione e impostare il selettore status su quel collegamento.
  4. Nell’asserzione, impostare b a 200.
  5. Fare clic su Riproduci.

L’asserzione ha due uscite, then e else: collegando un Log o una Toast su ciascuna si vede passare il risultato.