シナリオ入門
シナリオ はグラフです。ボックス(アクション)が、値やシグナルを運ぶ 接続 で結ばれています。エンジンは、配線されたすべての入力が何かを受け取った 時点でそのボックスを実行します。
Restorm では、これが他の API クライアントにおけるリクエスト前 / リクエスト後の スクリプトに代わるものです。しかも決定的な利点があります — フローが 見える のです。
ツリーで右クリック ▸ 追加 ▸ シナリオ。

何のために使うのか
Section titled “何のために使うのか”- 呼び出しを 連鎖 させ、ある呼び出しの値を次に渡します。リソースを作成し、 その識別子を取得して、次の呼び出しで使う、といった流れです。
- 検証 します。アサーション、JSON スキーマの検証、比較。
- 分岐とループ。
if、switch、for、forEach、while、retry。 - 複数のトランスポートを指揮 します。MQTT の購読を開き、HTTP で処理を起こし、 メッセージが届くことを確認します。
- 自動化 します。同じシナリオがインターフェースでも 継続的インテグレーションでウィンドウなしに 動きます。
| 概念 | 内容 |
|---|---|
| ボックス(ノード) | 1 つのアクション。90 種類が用意されています — カタログ を参照してください |
| ポート | ボックス上の接続点。型と向きを持ちます |
| 接続(エッジ) | 出力ポートと入力ポートを結ぶ 1 本の線 |
| セレクター | 接続を 通過中 の値に適用されるパス(data.items[0].id) |
| 実行変数 | 実行中に設定して読み直せる、名前付きの値 |
| パラメーター | シナリオの入力。起動時またはコマンドラインで与えます |
| 出力 | シナリオの呼び出し元に公開される結果 |
すべてのボックスが持つ 3 つのポート
Section titled “すべてのボックスが持つ 3 つのポート”これらは設定には並びません。ボックスの枠組みそのものに含まれています。
| ポート | 向き | 役割 |
|---|---|---|
in | 入力 | トリガー。複数 の入力接続を受け付け、その場合は すべて が届くまで待ちます — 「複数の分岐が終わるのを待つ」ためのバリアです |
error | 出力 | 失敗ルート。失敗したものはすべてここから出ていきます |
done | 出力 | ボックス とその下流のサブグラフ全体 が終わったときに発火します |
done と値の出力の違いは重要です。値は生成された時点で出ていきますが、done は
その値に依存するすべてが終わるのを待ちます。
最初のシナリオ
Section titled “最初のシナリオ”- HTTP リクエスト アクションを追加し、既存のリクエストに紐づけます。
- Assert アクションを追加し、演算子を
eqにします。 - リクエストの
responseポートからアサーションの入力aへ接続を引き、 その接続に セレクターstatusを設定します。 - アサーションで
bを200にします。 - 再生 をクリックします。
アサーションには then と else の 2 つの出力があります。それぞれに Log か
Toast をつなぐと、結果が流れていく様子を確認できます。