跳到內容

內嵌變數

請求中的任何文字欄位都接受內嵌書寫的 Handlebars 運算式。這是把呼叫參數化最直接 的機制:不需要事先設定,替換會在傳送的那一刻發生。

  • URL(包含協定、主機、連接埠與查詢字串);
  • 標頭,鍵和值都可以;
  • 查詢參數路徑參數
  • 內文:原始 JSON、XML、表單、x-www-form-urlencoded
  • 各協定專屬的欄位:MQTT 主題、AMQP 路由鍵、gRPC 訊息、GraphQL 查詢及其變數、 Redis 命令、Kafka 鍵…

一個完全參數化的 URL:

{{scheme}}://{{host}}:{{port}}/v{{apiVersion}}/clients/{{clientId}}

一個組合出來的標頭:

Authorization: Bearer {{accessToken}}
X-Request-Id: {{uuid}}

一段混用變數與 helper 的 JSON 內文:

{
"reference": "CMD-{{timestamp}}",
"client": "{{clientId}}",
"libelle": "{{uppercase produit}}",
"montant": {{multiply prixUnitaire quantite}},
"creeLe": "{{now}}"
}

一個 MQTT 主題與一個 AMQP 路由鍵:

capteurs/{{site}}/{{capteurId}}/mesures
commandes.{{pays}}.creees

在相關欄位的下方,Restorm 會顯示以作用中環境解析後的。在納悶某次呼叫為什麼跑 到錯誤的 URL 之前,先看這裡才是該養成的習慣:答案幾乎總是就擺在那裡。

一個內容為 {{baseUrl}}/pet/{{petId}} 的 URL 欄位,其下方顯示由作用中環境解析出的值

在支援的欄位中按 Ctrl+Space 可觸發自動完成:它會列出目前環境的變數,以及 Handlebars helper,並附上它們的簽章和一個範例。

  • 無法解析的運算式(變數不存在)會產生一個空字串——它不會引發錯誤。這正是預覽 之所以重要的原因。
  • 樣板是在不做 HTML 轉義的情況下編譯的:值裡的 &< 會原封不動地通過, 而這對 JSON 或 XML 來說正是預期的行為。
  • 不帶引數的 helper({{uuid}}{{now}}{{$randomEmail}}…)每次傳送都會產生 不同的值。這是刻意的,而且對關聯識別碼來說很實用。

完整參考:Handlebars helper