how to use UriComponentsBuilder for replacing pathsegment

I have a url as below

http://example.com/{id}

I want to change it to

http://example.com/12

I have coded as below

url= "http://example.com/{id}";

UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(url);
builder.pathSegment("{id}", "12");
UriComponents uriComponents = builder.build().encode();
URI uri = uriComponents.toUri();

System.out.println(uri);

Its giving me output as

http://example.com/%7Bid%7D/id/12

Not sure what is right way to use UriComponentsBuilder

>Solution :

To replace placeholder with a real value, you need to call build with parameters

    String url = "http://example.com/{id}";

    UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(url);
    URI uri = builder.build("12");

    System.out.println(uri);

Leave a Reply