跳到內容

變數與環境

Restorm 的變數住在 環境資料夾裡,一個資料夾 可以裝好幾套變數:每個環境一套。

環境就是一份鍵/值對的清單。它可以包含子環境,子環境會繼承父環境,並覆寫它 們重新定義的部分。

要把 stagingstaging / customer Astaging / customer B 這種結構模型化,這正是 合適的工具:共同的基礎只寫一次,只有差異需要重複。

環境的階層結構:父環境「Petstore」及它的兩個子環境「Staging」與「Production」

環境選擇器位於每個請求分頁 smartbar 的左側。它會 顯示一個彩色圓點和環境的名稱。

彈出視窗提供一個**「套用至所有請求」**核取方塊:勾選之後,它會一次切換整個資料夾—— 當您要把一整個專案從 local 換到 staging 時,這正是您想要的。

變數不只是字串而已。Restorm 提供以下型別:

型別它是什麼
字串一個字面值,會原封不動送出
運算式一個 Handlebars 樣板——這是唯一會對 {{ }} 求值的型別
數字一個數值,附帶顯示格式
布林值真/假
日期時間一個 ISO 日期,附帶格式
顏色一個十六進位色碼
密鑰指向某個密鑰來源的參照——值永遠不會進到專案檔案裡
清單一份值的清單
列舉 / 多重列舉由匯入的列舉所限定的值
自訂清單 / 多重自訂清單自訂值清單中依標籤挑選
變數指向另一個變數的參照
環境指向某個環境的參照
Null明確的空值

從最一般到最特定——最後者勝出:

  1. 根環境,接著是這條鏈上的每一個子環境;
  2. 環境本身的變數,依它們宣告的順序:因此一個變數可以引用寫在它上面的變數;
  3. 由情境放上的執行變數(設定變數動作),它們在執行期間會蓋掉環境的值;
  4. 請求自己的值(標頭、查詢參數、路徑參數),每一組都在累積下來的內容上解析;
  5. 最後是直接寫在請求欄位裡的 {{ }}——請參閱 內嵌變數

此外,Restorm 會跑好幾輪:因此父環境裡的運算式也能取到被子環境重新定義的值。

每個變數都有一個啟用核取方塊。被停用的變數不會進到內容中——這是暫時讓某個覆寫失效 但又不刪掉它的乾淨做法。

匯入時,值解析結果為空的鍵/值對會被自動停用:所以您第一次執行時,不會送出一大堆 空的標頭。

任何運算式都是一個 Handlebars 樣板,可用的 helper 超過一百個:字串、數學、日期、 清單、編碼、雜湊、隨機資料。