跳转到内容

场景简介

一个场景就是一张图。一些节点(也就是动作)由连线彼此相连,连线负责传递值与信号。 只要某个节点所有已连线的输入都收到了内容,引擎就会执行它。

在 Restorm 中,正是它取代了其他 API 客户端的前置请求脚本和后置请求脚本 —— 而且带来一个决定性的优势:您能看见数据流。

在树中右键点击 ▸ 添加 ▸ 场景

编辑器中的一个完整场景:一个 Input/Param 节点、一个 HTTP 请求、一个针对状态码的断言、一次 Handlebars 提取、一个 If 条件和一个 Log

  • 串联多次调用,并把一个值从前一次传给后一次:创建一个资源、取出它的标识符、 在下一次调用中使用它。
  • 校验:断言、JSON 模式校验、比对。
  • 分支与循环ifswitchforforEachwhileretry
  • 编排多种传输方式:打开一个 MQTT 订阅、通过 HTTP 触发一个动作、确认消息确实到达。
  • 自动化:同一个场景既能在界面里运行,也能在持续集成中无界面运行
概念它是什么
节点(方框)一个动作。共有九十种类型可用 —— 参见目录
端口节点上的一个接线点,带类型和方向
连线(边)从一个输出端口连到一个输入端口的一根线
选择器应用于连线上在途值的一个路径(data.items[0].id
运行变量一个命名的值,在执行期间写入并读回
参数场景的一个输入,在启动时或通过命令行提供
输出暴露给场景调用方的一个结果

它们不会列在配置里:它们属于节点框体本身。

端口方向作用
in输入触发器。它接受多条入线,并会一直等到全部到达 —— 这就是“等待多个分支全部结束”的屏障
error输出失败路径。凡是出错的都从这里走
done输出在节点及其下游整个子图都结束后发出

done 与值输出的区别很重要:一个值一旦产生就会立即发出,而 done 会等到所有依赖它的部分都结束。

  1. 添加一个 HTTP 请求动作,并把它关联到一个已有的请求。
  2. 添加一个 Assert 动作,运算符选 eq
  3. 从请求的 response 端口拉一条连线到断言的 a 输入,并在这条连线上设置选择器 status
  4. 在断言中把 b 设为 200
  5. 点击播放

断言有两个输出,thenelse:在每一个上各接一个 Log 或一个 Toast,就能看到结果流过。