Zum Inhalt springen

Variablen und Umgebungen

Die Variablen von Restorm leben in einem Variablenordner, der mehrere Sätze davon enthalten kann: einen pro Umgebung.

Eine Umgebung ist eine Liste von Schlüssel-Wert-Paaren. Sie kann Unterumgebungen enthalten, die von ihrer übergeordneten Umgebung erben und überschreiben, was sie neu definieren.

Das ist das richtige Werkzeug, um stagingstaging / customer A, staging / customer B abzubilden: Die gemeinsame Basis wird einmal geschrieben, nur der Unterschied wird wiederholt.

Der Umgebungsbaum: die übergeordnete Umgebung „Petstore“ und ihre beiden Unterumgebungen „Staging“ und „Production“

Der Umgebungsauswähler befindet sich links von der Smartbar jedes Anfrage-Tabs. Er zeigt einen farbigen Punkt und den Namen der Umgebung an.

Das Popover bietet ein Kontrollkästchen „Auf alle Anfragen anwenden“: Ist es aktiviert, wechselt es den gesamten Ordner auf einmal um – genau das wollen Sie, um ein ganzes Projekt von local auf staging umzustellen.

Eine Variable ist mehr als nur eine Zeichenkette. Restorm bietet typischerweise:

TypWas es ist
ZeichenketteEin literaler Wert, der unverändert gesendet wird
AusdruckEine Handlebars-Vorlage – der einzige Typ, dessen {{ }} ausgewertet werden
NumerischEine Zahl mit einem Anzeigeformat
BooleschWahr / Falsch
Datum-UhrzeitEin ISO-Datum mit einem Format
FarbeEine hexadezimale Farbe
SecretEin Verweis auf eine Secret-Quelle – der Wert gelangt niemals in die Projektdatei
ListeEine Liste von Werten
Enumeration / Mehrfach-EnumerationEin Wert, der durch eine importierte Enumeration eingeschränkt wird
Benutzerdefinierte Liste / Benutzerdefinierte MehrfachlisteEine Auswahl nach Bezeichnung aus einer benutzerdefinierten Werteliste
VariableEin Verweis auf eine andere Variable
UmgebungEin Verweis auf eine Umgebung
NullDer explizite Nullwert

Vom Allgemeinsten zum Spezifischsten – der letzte gewinnt:

  1. die Wurzelumgebung, dann jede Unterumgebung der Kette;
  2. die Variablen der Umgebung selbst, in ihrer Deklarationsreihenfolge: Eine Variable kann sich also auf die über ihr definierten stützen;
  3. die von einem Szenario gesetzten Laufzeitvariablen (Aktion Variable setzen), die die Umgebung für die Dauer der Ausführung überdecken;
  4. die anfragespezifischen Werte (Header, Query-Parameter, Pfadparameter), wobei jede Gruppe im Kontext der bereits aufgelösten Werte aufgelöst wird;
  5. schließlich die direkt in den Feldern der Anfrage geschriebenen {{ }} – siehe Inline-Variablen.

Restorm führt außerdem mehrere Durchläufe aus: Ein Ausdruck einer übergeordneten Umgebung kann also einen von einer untergeordneten Umgebung neu definierten Wert abrufen.

Jede Variable besitzt ein Aktivierungskästchen. Eine deaktivierte Variable fließt nicht in den Kontext ein – das ist der saubere Weg, eine Überschreibung vorübergehend zu neutralisieren, ohne sie zu löschen.

Beim Import werden Schlüssel-Wert-Paare, deren Wert sich zu leer auflöst, automatisch deaktiviert: Ihre erste Ausführung sendet also keine Schwemme leerer Header.

Jeder Ausdruck ist eine Handlebars-Vorlage mit über hundert verfügbaren Helpern: Zeichenketten, Mathematik, Datumsangaben, Listen, Kodierung, Hashing, Zufallsdaten.