package cn.edu.tju.handler;

import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.DefaultUriBuilderFactory;
import org.springframework.web.util.UriComponents;
import org.springframework.web.util.UriComponentsBuilder;

import java.net.URI;

public class TestMe {
public static void main(String[] args) {
UriComponents uriComponents = UriComponentsBuilder
.fromUriString("https://example.com/hotels/{hotel}")
.queryParam("q", "{q}")
.queryParam("r", "{r}")
.encode()
.build();

URI uri = uriComponents.expand("London", "123","tju").toUri();
System.out.println(uri);

URI uri2 = UriComponentsBuilder
.fromUriString("https://example.com/hotels/{hotel}")
.queryParam("q", "{q}")
.queryParam("r", "{r}")
.encode()
.buildAndExpand("London","123","tju").toUri();

System.out.println(uri2);


URI uri3 = UriComponentsBuilder
.fromUriString("https://example.com/hotels/{hotel}")
.queryParam("q", "{q}")
.queryParam("r", "{r}")
.encode()
.build("London","123","tju");

System.out.println(uri3);

URI uri4 = UriComponentsBuilder
.fromUriString("https://example.com/hotels/{hotel}?q={q}&r={r}")
.build("London","123","tju");

System.out.println(uri4);

String baseUrl = "https://example.com";
DefaultUriBuilderFactory uriBuilderFactory = new DefaultUriBuilderFactory(baseUrl);

URI uri5 = uriBuilderFactory.uriString("/hotels/{hotel}")
.queryParam("q", "{q}")
.queryParam("r", "{r}")

.build("London","123","tju");
System.out.println(uri5);


}
}

输出结果:

https://example.com/hotels/London?q=123&r=tju