Zeile 1, Spalte 24
{/version,resource}- Variable:
version· Definiert - Variable:
resource· Definiert
Expandierter Teil: /v1/search
URL / URI Tools
Ein Template und ein JSON-Objekt eingeben. URI und Teilresultate erscheinen nebeneinander.
Templates und Variablen bleiben in diesem Browser. Die Adressen werden nicht aufgerufen.
Ausgelassene Variablen: Keine
Unbenutzte JSON-Schlüssel: Keine
Zeile 1, Spalte 24
{/version,resource}version · Definiertresource · DefiniertExpandierter Teil: /v1/search
Zeile 1, Spalte 43
{?q,page,tags*}q · Definiertpage · Definierttags* · DefiniertExpandierter Teil: ?q=hello%20world&page=2&tags=red&tags=blue
2 von 2 Ausdrücken angezeigt
RFC 6570 Level 4: {var}, {+var}, {#var}, {.var}, {/var}, {;var}, {?var}, {&var}. :n begrenzt das Präfix; * expandiert Listen oder Maps einzeln.
Grenzen in UTF-16-Einheiten: Template 16.384, JSON 65.536, Ausgabe 262.144; höchstens 500 Ausdrücke.
2 Ausdrücke · 0 ausgelassene Variablen · 75 Ausgabeeinheiten
Ein Schrägstrich in einer Kennung hat eine andere Bedeutung als ein Schrägstrich zwischen Pfadsegmenten. Wer ein URI-Template testen möchte, braucht deshalb die tatsächlichen Werte: Erst damit wird sichtbar, welche Zeichen der Operator kodiert und welche er beibehält.
Ein URL-Template kann außerdem Listen, Maps und optionale Werte enthalten. Hier lassen sich diese Formen nach RFC 6570 expandieren, ohne zunächst ein vollständiges API-Beispiel zu programmieren. Relative Referenzen sind ebenfalls zulässig.
In der Ansicht „URI-Template testen“ lässt sich jede Expansion bis zur ursprünglichen Position zurückverfolgen. Fehlt ein Abfrageparameter, zeigen die Details, ob die Variable unbekannt, null oder eine leere Sammlung ist. Leere Zeichenfolgen erscheinen als eigener Zustand.
{?tags} erzeugt einen Wert mit Kommas. {?tags*} wiederholt den Parameternamen für jedes Listenelement. Bei einer Map verwendet der Stern dagegen die einzelnen Schlüssel. Der Vergleich der Teilresultate hilft, diese unterschiedliche Struktur vor der Integration zu erkennen.
user.id bezeichnet den vollständigen Schlüssel "user.id", keinen Pfad zu einem Unterobjekt. Auch Prozentsequenzen in Namen werden nicht dekodiert. Großschreibung und Kodierung müssen im Template und JSON übereinstimmen.
Das Beispiel für reservierte Zeichen bewahrt Schrägstriche innerhalb eines Pfades. Das zusammengesetzte Beispiel zeigt Listen, Maps und Unicode-Präfixe. Vor dem Laden erscheint eine Vorschau; anschließend stellt Rückgängig Eingaben und Ergebnis einmal wieder her.
Automatische Expansion wartet 350 ms nach einer Änderung. Ausgeschaltet stehen die Schaltfläche und Ctrl/Cmd + Enter bereit. Jede Eingabeänderung sperrt alte Exporte, bis die aktuellen Werte erfolgreich verarbeitet wurden.
URI-Template testen unterstützt einfache Expansion sowie +, #, ., /, ;, ? und &. Ein Präfix umfasst 1–9999 Unicode-Zeichen; * löst Listen und Maps auf. Prozentkodierung und Trennzeichen folgen dem Operator und sind keine frei kombinierbaren Optionen.
JSON-Zahlen werden als ursprünglicher Text verarbeitet. 9007199254740993 wird dadurch nicht gerundet; auch -0 und Exponentenschreibweise bleiben erhalten. Boolesche Werte erscheinen als true oder false. Die Anwendung wandelt Zahlen nicht zwischen Dezimal- und Exponentenschreibweise um.
Syntaxfehler im Template und JSON nennen Zeile und Spalte. Doppelte Schlüssel werden abgelehnt, verschachtelte Werte mit JSON Pointer bezeichnet. Unbekannte Variablen sind hingegen kein Syntaxfehler: Eine vollständig ausgelassene Expansion kann dem Standard entsprechen.
Kopieren liefert nur die URI. Der JSON-Bericht enthält Template, unveränderten JSON-Eingabetext, alle Ausdrücke sowie ausgelassene und unbenutzte Namen. Auf der Seite erscheinen jeweils 50 Ausdrücke; der Download enthält auch die noch nicht angezeigten Einträge.
Die Klammern eines Ausdrucks bleiben unverändert: /users/{id} enthält eine Variable. /users/%7Bid%7D enthält dagegen kodierte Literale und wird nicht ersetzt. Nicht das ganze Template vorab URL-kodieren; der Operator übernimmt die Kodierung seiner Werte.
/ fügt vor jeder definierten Variable einen Schrägstrich ein, bei einer explodierten Liste vor jedem Element. Einfache Expansion kodiert Schrägstriche innerhalb eines Wertes. + erhält sie, fügt aber selbst keinen hinzu. Die drei Varianten erfüllen unterschiedliche Aufgaben.
Ein frei wählbares optionales Leerzeichen als Trennzeichen ist nicht vorgesehen. Bereiten Sie stattdessen eine Zeichenfolge mit den gewünschten Wörtern vor; deren Leerzeichen werden zu %20. * verwendet weiterhin das Trennzeichen seines Operators, etwa / oder &.
Ein regulärer Ausdruck kann die Variablenwerte nicht ausreichend prüfen. {items:3} ist syntaktisch möglich, aber bei einer Liste als items unzulässig. Dieses Werkzeug prüft Ausdrücke und JSON-Werte gemeinsam und zeigt bei einem Fehler die betroffene Position.
RFC 6570 beschreibt die Expansion von Variablen in eine URI. Die Umkehrung ist bei mehreren Variablen, reservierten Zeichen oder Maps möglicherweise mehrdeutig. Diese Seite extrahiert daher keine Routenparameter aus einer URI.
Stimmt etwas nicht?
Ein Beispiel mit eigenen Werten vergleichen und den vollständigen Bericht des aktuellen Durchlaufs sichern.
Ein Template, ein Variablenobjekt, nachvollziehbare Teilresultate.