2017-04-18 142 views
2

我想使用spring RestTemplate进行REST调用,该URL包含一些可选的查询参数。该URL类似于Spring RestTemplate GET请求删除空查询参数

URL = example.com/param1={param1} &参数2 = {参数2}

我通过PARAMS作为地图使用交换法

restTemplate.exchange到restTemplate (URL,方法,有效载荷,String.class,则params)

最终URL example.com/param1=somevalue & param2的=自PA ram2不在params地图中。

我想从请求删除参数2,也就是最终的URL应该只包含参数1和URL看起来应该像example.com/param1=somevalue

回答

2

您可以使用UriComponentsBuilder,并提供所需的PARAMS(不为空)。

UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("example.com"); 
builder.replaceQueryParam("param1", param1value); 
... 
restTemplate.exchange(builder.build().encode().toUri(), 
        httpMethod, 
        requestEntity, 
        String.class)