本章主要介绍Spring Framework中用来处理URI的多种方式

1.使用  UriComponentsBuilder 构建URi 话不多说 直接上代码

UriComponents uriComponents = UriComponentsBuilder
                .fromUriString("https://example.com/hotels/{hotel}")
                .queryParam("q", "{q}")
                .encode()
                .build();

        URI uri = uriComponents.expand("Westin", "123").toUri();

通过debug 查看uri变量如下图

本章主要介绍Spring Framework中用来处理URI的多种方式_第1张图片 

可以验证 "Westin" 替换了变量  {hotel}, 123替换了变量 {q}

和以下的方式是等效的

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

当然以下方式也是可以的 结果是一样的

URI uri = UriComponentsBuilder
		.fromUriString("https://example.com/hotels/{hotel}")
		.queryParam("q", "{q}")
		.build("Westin", "123");

可以进一步精简成如下代码

URI uri = UriComponentsBuilder
		.fromUriString("https://example.com/hotels/{hotel}?q={q}")
		.build("Westin", "123");

你可能感兴趣的:(spring,java)