Gå til innholdet

Introduksjon til scenarioer

Et scenario er en graf. Bokser (handlingene) knyttes sammen av forbindelser som frakter verdier og signaler. Motoren kjører en boks så snart alle de tilkoblede inngangene har mottatt noe.

I Restorm er det dette som erstatter pre- og post-forespørselsskriptene i andre API-klienter — med én avgjørende fordel: du ser flyten.

Høyreklikk i treet ▸ Legg til ▸ Scenario.

Et komplett scenario i editoren: en Input/Param-node, en HTTP-forespørsel, en assertion på statuskoden, en Handlebars-uthenting, en If-betingelse og en Log

  • Lenke sammen kall og sende en verdi fra det ene til det andre: opprette en ressurs, hente IDen dens og bruke den i neste kall.
  • Verifisere: assertions, validering av JSON-skjema, sammenligning.
  • Forgrene og gå i løkke: if, switch, for, forEach, while, retry.
  • Orkestrere flere transportlag: åpne et MQTT-abonnement, utløse en handling over HTTP og sjekke at meldingen kommer fram.
  • Automatisere: det samme scenarioet kjører i grensesnittet og uten vindu i kontinuerlig integrasjon.
BegrepHva det er
Boks (node)En handling. Nitti typer er tilgjengelige — se katalogen
PortEt tilkoblingspunkt på en boks, med type og retning
Forbindelse (kant)En tråd mellom en utgangsport og en inngangsport
SelektorEn sti som anvendes på verdien som er underveis på en forbindelse (data.items[0].id)
Run-variabelEn navngitt verdi som settes og leses igjen under kjøringen
ParameterInndata til scenarioet, oppgitt ved start eller på kommandolinjen
UtdataEt resultat som eksponeres for den som kaller scenarioet

De står ikke oppført i konfigurasjonen: de er en del av selve boksrammen.

PortRetningRolle
inInngangUtløseren. Den godtar flere innkommende forbindelser, og venter da til alle har kommet — dette er barrieren «vent til flere grener er ferdige»
errorUtgangFeilruten. Alt som går galt, går ut her
doneUtgangSendes ut når boksen og hele delgrafen nedstrøms er ferdig

Skillet mellom done og en verdiutgang er viktig: en verdi går ut så snart den er produsert, mens done venter til alt som avhenger av den, er ferdig.

  1. Legg til en HTTP-forespørsel-handling og knytt den til en forespørsel som finnes fra før.
  2. Legg til en Assert-handling med operatoren eq.
  3. Trekk en forbindelse fra response-porten på forespørselen til inngangen a på assertionen, og sett selektoren status på forbindelsen.
  4. Sett b til 200 i assertionen.
  5. Klikk på Kjør.

Assertionen har to utganger, then og else: koble en Log eller en Toast på hver av dem for å se resultatet gå gjennom.