跳到內容

情境簡介

情境就是一張圖。一個個方塊(也就是動作)由連結串接起來,連結上流動著 值與訊號。只要一個方塊所有已接線的輸入都收到了東西,引擎就會執行它。

在 Restorm 裡,這就是取代其他 API 用戶端「請求前腳本」與「請求後腳本」的東西 — 而且還有一個決定性的好處:整條流程看得見

在樹狀結構中按右鍵 ▸ 新增 ▸ 情境

編輯器中的一個完整情境:一個 Input/Param 節點、一個 HTTP 請求、一個針對狀態碼的斷言、一次 Handlebars 擷取、一個 If 條件與一個 Log

  • 串接多個呼叫並把值從一個傳到下一個:建立一項資源、取得它的識別碼,再用在 下一個呼叫裡。
  • 驗證:斷言、JSON 結構描述驗證、比較。
  • 分支與迴圈ifswitchforforEachwhileretry
  • 協調多種傳輸:開啟一個 MQTT 訂閱、以 HTTP 觸發某個動作,再確認訊息確實 送到。
  • 自動化:同一個情境既能在介面中執行,也能 在持續整合中以 headless 方式執行
概念是什麼
方塊(節點)一個動作。共有九十種類型可用 — 請參閱動作目錄
連接埠方塊上的一個接線點,具型別且有方向
連結(邊)從輸出連接埠拉到輸入連接埠的一條線
選擇器套用在連結上正在傳遞的值之上的路徑(data.items[0].id
執行變數一個具名的值,在執行期間寫入並重新讀取
參數情境的一個輸入,於啟動時或命令列上提供
輸出對情境呼叫方公開的一個結果

它們不會列在方塊的設定裡:它們是方塊外框的一部分。

連接埠方向用途
in輸入觸發器。它接受多條進入的連結,此時會等到全部都抵達 — 這就是「等待多個分支結束」的屏障
error輸出失敗路徑。任何出錯的東西都從這裡出去
done輸出當方塊以及它下游的整個子圖都結束時發出

done 與值輸出的差別很重要:值一產生就會送出,而 done 會等到所有依賴它的東西 都結束。

  1. 新增一個 HTTP 請求動作,並把它繫結到一個既有的請求。
  2. 新增一個 Assert 動作,運算子選 eq
  3. 從請求的 response 連接埠拉一條連結到斷言的 a 輸入,並在這條連結上設定 選擇器 status
  4. 在斷言中把 b 設為 200
  5. 請點選執行

斷言有兩個輸出,thenelse:請在每一個上面各接一個 LogToast, 就能看到結果流過。