Ir al contenido

Variables y entornos

Las variables de Restorm viven en una carpeta de variables, que puede contener varios juegos: uno por entorno.

Un entorno es una lista de pares clave / valor. Puede contener subentornos, que heredan de su padre y sobrescriben lo que redefinen.

Es la herramienta adecuada para modelar stagingstaging / customer A, staging / customer B: la base común se escribe una vez y solo se repite la diferencia.

El árbol de entornos: el entorno padre «Petstore» y sus dos subentornos «Staging» y «Production»

El selector de entorno está a la izquierda de la smartbar de cada pestaña de petición. Muestra una marca de color y el nombre del entorno.

El menú emergente ofrece una casilla «Aplicar a todas las peticiones»: si está marcada, cambia toda la carpeta de golpe. Es lo que quiere para pasar un proyecto entero de local a staging.

Una variable no es solo una cadena. Restorm ofrece los siguientes tipos:

TipoQué es
CadenaUn valor literal, enviado tal cual
ExpresiónUna plantilla Handlebars: es el único tipo cuyas {{ }} se evalúan
NuméricoUn número, con un formato de visualización
BooleanoVerdadero / falso
Fecha-horaUna fecha ISO, con un formato
ColorUn color hexadecimal
SecretoUna referencia a un origen de secretos: el valor nunca pasa por el archivo de proyecto
ListaUna lista de valores
Enumeración / Enumeración múltipleUn valor restringido por una enumeración importada
Lista personalizada / Lista personalizada múltipleUna elección por etiqueta en una lista de valores personalizada
VariableUna referencia a otra variable
EntornoUna referencia a un entorno
NuloEl valor nulo explícito

De lo más general a lo más específico; el último gana:

  1. el entorno raíz y después cada subentorno de la cadena;
  2. las variables del propio entorno, en su orden de declaración: una variable puede por tanto apoyarse en las definidas por encima de ella;
  3. las variables de ejecución establecidas por un escenario (acción Definir variable), que cubren el entorno durante la ejecución;
  4. los valores propios de la petición (cabeceras, parámetros de consulta, parámetros de ruta), resolviéndose cada grupo sobre el contexto acumulado;
  5. y por último las {{ }} escritas directamente en los campos de la petición: consulte Variables en línea.

Restorm hace además varias pasadas: una expresión de un entorno padre puede, por tanto, recuperar un valor redefinido por un hijo.

Cada variable tiene una casilla de activación. Una variable desactivada no entra en el contexto: es la forma limpia de neutralizar temporalmente una sobrescritura sin eliminarla.

Al importar, los pares clave / valor cuyo valor se resuelve como vacío se desactivan automáticamente: su primera ejecución no envía, por tanto, un enjambre de cabeceras vacías.

Toda expresión es una plantilla Handlebars, con más de cien helpers disponibles: cadenas, matemáticas, fechas, listas, codificación, hash y datos aleatorios.