Salta ai contenuti

Variabili inline nei campi

Qualsiasi campo di testo di una richiesta accetta un’espressione Handlebars scritta inline. È il meccanismo più diretto per parametrizzare una chiamata: nessuna configurazione preliminare, la sostituzione avviene al momento dell’invio.

  • nell’URL (compresi lo schema, l’host, la porta e la stringa di query);
  • negli header, sia nella chiave sia nel valore;
  • nei parametri di query e nei parametri di percorso;
  • nel corpo: JSON grezzo, XML, form, x-www-form-urlencoded;
  • nei campi propri di ciascun protocollo: topic MQTT, routing key AMQP, messaggio gRPC, query GraphQL e relative variabili, comando Redis, chiave Kafka…

Un URL interamente parametrizzato:

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

Un header composito:

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

Un corpo JSON che mescola variabili e helper:

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

Un topic MQTT e una routing key AMQP:

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

Sotto i campi interessati, Restorm mostra il valore risolto con l’ambiente attivo. È il riflesso da acquisire prima di chiedersi perché una chiamata parte su un URL sbagliato: la risposta è quasi sempre visibile lì.

Un campo URL che contiene {{baseUrl}}/pet/{{petId}}, con il suo valore risolto dall’ambiente attivo mostrato appena sotto

Ctrl+Space attiva il completamento automatico nei campi che lo accettano: propone le variabili dell’ambiente corrente e gli helper Handlebars, con la loro firma e un esempio.

  • Un’espressione non risolta (variabile inesistente) produce una stringa vuota — non genera un errore. Da qui l’importanza dell’anteprima.
  • Il template viene compilato senza escape HTML: una & o un < in un valore passa intatto, ed è il comportamento atteso per JSON o XML.
  • Gli helper senza argomenti ({{uuid}}, {{now}}, {{$randomEmail}}…) producono un valore diverso a ogni invio. È voluto, ed è comodo per gli identificatori di correlazione.

Riferimento completo: Helper Handlebars.