Ir al contenido

Variables en línea en los campos

Cualquier campo de texto de una petición acepta una expresión Handlebars escrita en línea. Es el mecanismo más directo para parametrizar una llamada: sin configuración previa, la sustitución se produce en el momento del envío.

  • la URL (incluidos el esquema, el host, el puerto y la cadena de consulta);
  • las cabeceras, tanto en la clave como en el valor;
  • los parámetros de consulta y los parámetros de ruta;
  • el cuerpo: JSON en bruto, XML, formulario, x-www-form-urlencoded;
  • los campos propios de cada protocolo: tema MQTT, clave de enrutamiento AMQP, mensaje gRPC, consulta GraphQL y sus variables, comando Redis, clave Kafka…

Una URL totalmente parametrizada:

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

Una cabecera compuesta:

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

Un cuerpo JSON que combina variables y helpers:

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

Un tema MQTT y una clave de enrutamiento AMQP:

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

Debajo de los campos correspondientes, Restorm muestra el valor resuelto con el entorno activo. Es el reflejo que conviene adquirir antes de preguntarse por qué una llamada sale hacia una URL equivocada: la respuesta casi siempre está visible ahí.

Un campo URL que contiene {{baseUrl}}/pet/{{petId}}, con su valor resuelto por el entorno activo mostrado justo debajo

Ctrl+Space activa el autocompletado en los campos que lo aceptan: propone las variables del entorno actual y los helpers Handlebars, con su firma y un ejemplo.

  • Una expresión sin resolver (variable inexistente) devuelve una cadena vacía: no provoca ningún error. De ahí la importancia de la vista previa.
  • La plantilla se compila sin escapado HTML: un & o un < dentro de un valor pasa intacto, que es el comportamiento esperado para JSON o XML.
  • Los helpers sin argumentos ({{uuid}}, {{now}}, {{$randomEmail}}…) producen un valor distinto en cada envío. Es intencionado y resulta práctico para los identificadores de correlación.

Referencia completa: Helpers Handlebars.