Ga naar inhoud

Variabelen en omgevingen

De variabelen van Restorm leven in een omgevingsmap, die meerdere sets kan bevatten: één per omgeving.

Een omgeving is een lijst van sleutel-waardeparen. Zij kan subomgevingen bevatten, die van hun ouder erven en overschrijven wat zij opnieuw definiëren.

Dat is het juiste middel om stagingstaging / customer A, staging / customer B te modelleren: de gemeenschappelijke basis schrijft u één keer, alleen het verschil herhaalt u.

De boom met omgevingen: de bovenliggende omgeving “Petstore” en haar twee subomgevingen “Staging” en “Production”

De omgevingskiezer staat links in de smartbar van elk verzoektabblad. Hij toont een gekleurde stip en de naam van de omgeving.

De popover bevat een selectievakje “Toepassen op alle verzoeken”: als u dat aanvinkt, schakelt de hele map in één keer om — precies wat u wilt om een heel project van local naar staging te brengen.

Een variabele is niet alleen een tekenreeks. Restorm biedt de volgende typen:

TypeWat het is
TekenreeksEen letterlijke waarde, ongewijzigd verzonden
ExpressieEen Handlebars-template — het enige type waarvan de {{ }} worden geëvalueerd
GetalEen getal, met een weergaveformaat
BooleanWaar / onwaar
Datum/tijdEen ISO-datum, met een formaat
KleurEen hexadecimale kleur
GeheimEen verwijzing naar een geheimenbron — de waarde komt nooit in het projectbestand
LijstEen lijst met waarden
Enumeratie / Meervoudige enumeratieEen waarde die is beperkt door een geïmporteerde enumeratie
Aangepaste lijst / Meervoudige aangepaste lijstEen keuze op label uit een aangepaste waardelijst
VariabeleEen verwijzing naar een andere variabele
OmgevingEen verwijzing naar een omgeving
NullDe expliciete nulwaarde

Van algemeen naar specifiek — de laatste wint:

  1. de hoofdomgeving, daarna elke subomgeving in de keten;
  2. de variabelen van de omgeving zelf, in hun declaratievolgorde: een variabele kan dus voortbouwen op de variabelen die erboven zijn gedefinieerd;
  3. de runvariabelen die door een scenario zijn gezet (actie Variabele instellen), die de omgeving overdekken zolang de uitvoering duurt;
  4. de waarden van het verzoek zelf (headers, queryparameters, padparameters), waarbij elke groep wordt opgelost tegen de opgebouwde context;
  5. en tot slot de {{ }} die direct in de velden van het verzoek staan — zie Inline variabelen.

Restorm doet daarnaast meerdere passages: een expressie in een bovenliggende omgeving kan dus een waarde ophalen die door een kind opnieuw is gedefinieerd.

Elke variabele heeft een selectievakje om haar te activeren. Een uitgeschakelde variabele komt niet in de context — dat is de nette manier om een overschrijving tijdelijk buiten werking te stellen zonder haar te verwijderen.

Bij de import worden sleutel-waardeparen waarvan de waarde leeg blijkt te zijn, automatisch uitgeschakeld: uw eerste uitvoering verstuurt dus geen zwerm lege headers.

Elke expressie is een Handlebars-template, met meer dan honderd beschikbare helpers: tekenreeksen, rekenwerk, datums, lijsten, encodering, hashing, willekeurige gegevens.