Verwendung von URI-Vorlagen zum Ändern von Pfadparametern in einer URL in Java

Kasun Siyambalapitiya

Ich habe das hier verfügbare Tutorial zum Ersetzen von Pfadparametern durch angegebene Werte befolgt und den unten angegebenen Beispielcode ausgeführt

import org.glassfish.jersey.uri.UriTemplate;

import javax.ws.rs.core.UriBuilder;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;

public class Demo {
    public static void main(String[] args) {
        String template = "http://example.com/name/{name}/age/{age}";
        UriTemplate uriTemplate = new UriTemplate(template);
        String uri = "http://example.com/name/Bob/age/47";
        Map<String, String> parameters = new HashMap<>();

        // Not this method returns false if the URI doesn't match, ignored
        // for the purposes of the this blog.
        uriTemplate.match(uri, parameters);
        System.out.println(parameters);
        parameters.put("name","Arnold");
        parameters.put("age","110");

        UriBuilder builder = UriBuilder.fromPath(template);
        URI output = builder.build(parameters);
        System.out.println(output.toASCIIString());


    }
}

aber wenn ich den Code kompiliere, gibt es mir diesen Fehler

Exception in thread "main" java.lang.IllegalArgumentException: The template variable 'age' has no value

Bitte helfen Sie mir, dies zu beheben (möglicherweise verursachen meine Importe das Problem).

Norb Braun
public static void main(String[] args) {
    String template = "http://example.com/name/{name}/age/{age}";
    UriTemplate uriTemplate = new UriTemplate(template);
    String uri = "http://example.com/name/Bob/age/47";
    Map<String, String> parameters = new HashMap<>();

    // Not this method returns false if the URI doesn't match, ignored
    // for the purposes of the this blog.
    uriTemplate.match(uri, parameters);
    System.out.println(parameters);
    parameters.put("name","Arnold");
    parameters.put("age","110");

    UriBuilder builder = UriBuilder.fromPath(template);
    // Use .buildFromMap()
    URI output = builder.buildFromMap(parameters);
    System.out.println(output.toASCIIString());

}

Wenn Sie .buildzum Füllen der Vorlage verwenden, müssen Sie die Werte einzeln wie folgt angeben .build("Arnold", "110"). In Ihrem Fall möchten Sie .buildFromMap()mit Ihrer parametersKarte verwenden.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

URL von überschriebenen Vorlagen ändern

Berechtigungsfehler bei Verwendung von mmap zum Ändern einer Datei

Verwendung von UpdateItem zum Ändern von Zahlenwerten

Verwenden von sed zum Ändern der Schrägstrichrichtung in einer URL

Verwendung von CSS zum Ändern der Symbolfarbe

Verwendung von Requisiten zum Ändern des CSS

Steuerelement zum Suchen und Ändern von UWP-Vorlagen

Verwendung von Java Regex zum Abgleichen einer Linie

Verwendung von Java Optional zum Konvertieren einer komplexen if-Bedingung

Verwendung einer Schleife zum Ändern einer Div-ID mithilfe von Javascript

Verwendung von Regex zum Ändern einer Zeichenfolge in Pandas in verschiedenen Fällen

Verwendung von aria-expand = "true" zum Ändern einer CSS-Eigenschaft

Verwendung von Monokel zum Ändern einer verschachtelten Karte und eines anderen Felds in Scala

Verwendung von Super in Verbindung mit einer Django ModelForm-Klasse zum Ändern der __init__ -Methode

Herunterladen von Bildern per URL mithilfe von AsyncTask und Verwendung der AnimationDrawable-Klasse zum Ändern von Bildern in Intervallen

Verwendung von jquery zum schrittweisen Ändern von Übersetzen

Verwendung von Tastaturtasten zum Ändern von Videos in HTML

Sicherheitsbedenken hinsichtlich der Verwendung von $ _GET zum Abrufen der ID von einer URL

Codieren einer Website zum Generieren von herunterladbaren HTML-Vorlagen

Verwenden von String-Vorlagen zum Erstellen einer Quine in Python?

Verwendung von ConfigSlurper zum Konfigurieren einer JavaBean

Verwendung von SqlBulkCopy zum Schreiben einer IAsyncEnumerable

Verwendung von Requisiten zum Ändern der URL im Iframe der Reaktionskomponente

Verwenden von Zeigern zum Ändern einer Matrix

Unterscheiden von Abfrageparametern von Pfadparametern

Verwendung von preg_replace zum Ändern von Variablennamen und -werten in einer anderen PHP / TXT-Datei

Code zum Generieren von Vorlagen

Konstruktor zum Verschieben von Vorlagen

Verwendung von Javascript zum Rendern von Jinja- oder Jinja2-Vorlagen

TOP Liste

heißlabel

Archiv