Ir al contenido

Introducción a los escenarios

Un escenario es un grafo. Unas cajas (las acciones) se unen mediante enlaces que transportan valores y señales. El motor ejecuta una caja en cuanto todas sus entradas cableadas han recibido algo.

Es lo que, en Restorm, sustituye a los scripts de pre-petición y post-petición de otros clientes de API, con una ventaja decisiva: se ve el flujo.

Clic derecho en el árbol ▸ Añadir ▸ Escenario.

Un escenario completo en el editor: un nodo Input/Param, una petición HTTP, una aserción sobre el código de estado, una extracción Handlebars, una condición If y un Log

  • Encadenar llamadas y pasar un valor de una a otra: crear un recurso, recuperar su identificador y usarlo en la llamada siguiente.
  • Comprobar: aserciones, validación de esquemas JSON, comparación.
  • Ramificar e iterar: if, switch, for, forEach, while, retry.
  • Orquestar varios transportes: abrir una suscripción MQTT, desencadenar una acción por HTTP y comprobar que el mensaje llega.
  • Automatizar: el mismo escenario se ejecuta en la interfaz y sin ventana en integración continua.
NociónQué es
Caja (nodo)Una acción. Hay noventa tipos disponibles: consulte el catálogo
PuertoUn punto de conexión en una caja, tipado y orientado
Enlace (arista)Un hilo entre un puerto de salida y un puerto de entrada
SelectorUna ruta aplicada al valor en tránsito por un enlace (data.items[0].id)
Variable de ejecuciónUn valor con nombre, establecido y releído durante la ejecución
ParámetroUna entrada del escenario, proporcionada al lanzarlo o en línea de comandos
SalidaUn resultado expuesto a quien llama al escenario

No se enumeran en la configuración: forman parte del marco de la caja.

PuertoSentidoFunción
inEntradaEl disparador. Acepta varios enlaces entrantes y espera entonces a que todos hayan llegado: es la barrera de «esperar a que varias ramas hayan terminado»
errorSalidaLa ruta de fallo. Todo lo que sale mal pasa por ahí
doneSalidaSe emite cuando la caja y todo su subgrafo aguas abajo han terminado

La distinción entre done y una salida de valor es importante: un valor sale en cuanto se produce, mientras que done espera a que haya terminado todo lo que depende de él.

  1. Añada una acción Petición HTTP y vincúlela a una petición existente.
  2. Añada una acción Assert, con el operador eq.
  3. Tire un enlace desde el puerto response de la petición hasta la entrada a de la aserción, y coloque el selector status en ese enlace.
  4. En la aserción, ajuste b a 200.
  5. Haga clic en Reproducir.

La aserción tiene dos salidas, then y else: conecte un Log o un Toast a cada una para ver pasar el resultado.