场景简介
一个场景就是一张图。一些节点(也就是动作)由连线彼此相连,连线负责传递值与信号。 只要某个节点所有已连线的输入都收到了内容,引擎就会执行它。
在 Restorm 中,正是它取代了其他 API 客户端的前置请求脚本和后置请求脚本 —— 而且带来一个决定性的优势:您能看见数据流。
在树中右键点击 ▸ 添加 ▸ 场景。

- 串联多次调用,并把一个值从前一次传给后一次:创建一个资源、取出它的标识符、 在下一次调用中使用它。
- 校验:断言、JSON 模式校验、比对。
- 分支与循环:
if、switch、for、forEach、while、retry。 - 编排多种传输方式:打开一个 MQTT 订阅、通过 HTTP 触发一个动作、确认消息确实到达。
- 自动化:同一个场景既能在界面里运行,也能在持续集成中无界面运行。
| 概念 | 它是什么 |
|---|---|
| 节点(方框) | 一个动作。共有九十种类型可用 —— 参见目录 |
| 端口 | 节点上的一个接线点,带类型和方向 |
| 连线(边) | 从一个输出端口连到一个输入端口的一根线 |
| 选择器 | 应用于连线上在途值的一个路径(data.items[0].id) |
| 运行变量 | 一个命名的值,在执行期间写入并读回 |
| 参数 | 场景的一个输入,在启动时或通过命令行提供 |
| 输出 | 暴露给场景调用方的一个结果 |
每个节点都拥有的三个端口
Section titled “每个节点都拥有的三个端口”它们不会列在配置里:它们属于节点框体本身。
| 端口 | 方向 | 作用 |
|---|---|---|
in | 输入 | 触发器。它接受多条入线,并会一直等到全部到达 —— 这就是“等待多个分支全部结束”的屏障 |
error | 输出 | 失败路径。凡是出错的都从这里走 |
done | 输出 | 在节点及其下游整个子图都结束后发出 |
done 与值输出的区别很重要:一个值一旦产生就会立即发出,而 done 会等到所有依赖它的部分都结束。
- 添加一个 HTTP 请求动作,并把它关联到一个已有的请求。
- 添加一个 Assert 动作,运算符选
eq。 - 从请求的
response端口拉一条连线到断言的a输入,并在这条连线上设置选择器status。 - 在断言中把
b设为200。 - 点击播放。
断言有两个输出,then 和 else:在每一个上各接一个 Log 或一个 Toast,就能看到结果流过。