2017-04-18 92 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)