情境簡介
情境就是一張圖。一個個方塊(也就是動作)由連結串接起來,連結上流動著 值與訊號。只要一個方塊所有已接線的輸入都收到了東西,引擎就會執行它。
在 Restorm 裡,這就是取代其他 API 用戶端「請求前腳本」與「請求後腳本」的東西 — 而且還有一個決定性的好處:整條流程看得見。
在樹狀結構中按右鍵 ▸ 新增 ▸ 情境。

- 串接多個呼叫並把值從一個傳到下一個:建立一項資源、取得它的識別碼,再用在 下一個呼叫裡。
- 驗證:斷言、JSON 結構描述驗證、比較。
- 分支與迴圈:
if、switch、for、forEach、while、retry。 - 協調多種傳輸:開啟一個 MQTT 訂閱、以 HTTP 觸發某個動作,再確認訊息確實 送到。
- 自動化:同一個情境既能在介面中執行,也能 在持續整合中以 headless 方式執行。
| 概念 | 是什麼 |
|---|---|
| 方塊(節點) | 一個動作。共有九十種類型可用 — 請參閱動作目錄 |
| 連接埠 | 方塊上的一個接線點,具型別且有方向 |
| 連結(邊) | 從輸出連接埠拉到輸入連接埠的一條線 |
| 選擇器 | 套用在連結上正在傳遞的值之上的路徑(data.items[0].id) |
| 執行變數 | 一個具名的值,在執行期間寫入並重新讀取 |
| 參數 | 情境的一個輸入,於啟動時或命令列上提供 |
| 輸出 | 對情境呼叫方公開的一個結果 |
每個方塊都有的三個連接埠
Section titled “每個方塊都有的三個連接埠”它們不會列在方塊的設定裡:它們是方塊外框的一部分。
| 連接埠 | 方向 | 用途 |
|---|---|---|
in | 輸入 | 觸發器。它接受多條進入的連結,此時會等到全部都抵達 — 這就是「等待多個分支結束」的屏障 |
error | 輸出 | 失敗路徑。任何出錯的東西都從這裡出去 |
done | 輸出 | 當方塊以及它下游的整個子圖都結束時發出 |
done 與值輸出的差別很重要:值一產生就會送出,而 done 會等到所有依賴它的東西
都結束。
- 新增一個 HTTP 請求動作,並把它繫結到一個既有的請求。
- 新增一個 Assert 動作,運算子選
eq。 - 從請求的
response連接埠拉一條連結到斷言的a輸入,並在這條連結上設定 選擇器status。 - 在斷言中把
b設為200。 - 請點選執行。
斷言有兩個輸出,then 與 else:請在每一個上面各接一個 Log 或 Toast,
就能看到結果流過。