Aller au contenu

Variables en ligne dans les champs

N’importe quel champ texte d’une requête accepte une expression Handlebars écrite en ligne. C’est le mécanisme le plus direct pour paramétrer un appel : pas de configuration préalable, la substitution a lieu au moment de l’envoi.

  • l’URL (y compris le schéma, l’hôte, le port et la chaîne de requête) ;
  • les en-têtes, en clé comme en valeur ;
  • les paramètres de requête et les paramètres de chemin ;
  • le corps : JSON brut, XML, formulaire, x-www-form-urlencoded ;
  • les champs propres à chaque protocole : sujet MQTT, clé de routage AMQP, message gRPC, requête GraphQL et ses variables, commande Redis, clé Kafka…

Une URL entièrement paramétrée :

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

Un en-tête composite :

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

Un corps JSON qui mélange variables et helpers :

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

Un sujet MQTT et une clé de routage AMQP :

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

Sous les champs concernés, Restorm affiche la valeur résolue avec l’environnement actif. C’est le réflexe à prendre avant de se demander pourquoi un appel part sur une mauvaise URL : la réponse est presque toujours visible là.

Un champ URL contenant {{baseUrl}}/pet/{{petId}}, avec sa valeur résolue par l'environnement actif affichée juste en dessous

Ctrl+Espace déclenche l’autocomplétion dans les champs qui l’acceptent : elle propose les variables de l’environnement courant et les helpers Handlebars, avec leur signature et un exemple.

  • Une expression non résolue (variable inexistante) rend une chaîne vide — elle ne provoque pas d’erreur. D’où l’importance de l’aperçu.
  • Le gabarit est compilé sans échappement HTML : un & ou un < dans une valeur passe intact, ce qui est le comportement attendu pour du JSON ou du XML.
  • Les helpers sans argument ({{uuid}}, {{now}}, {{$randomEmail}}…) produisent une valeur différente à chaque envoi. C’est voulu, et c’est pratique pour les identifiants de corrélation.

Référence complète : Helpers Handlebars.