Если вы передадите непараметризованные параметры для RestTemplate, у вас будет один показатель для каждого отдельного другого URL, который вы передаете, с учетом параметров. Вы хотели бы использовать параметризованные URL:
http://my-url/action?param1={param1}¶m2={param2}
вместо
http://my-url/action?param1=XXXX¶m2=YYYY
Второй случай - это то, что вы получаете, используя класс UriComponentsBuilder.
Одним из способов реализации первого поведения является следующее:
Map<String, Object> params = new HashMap<>();
params.put("param1", "XXXX");
params.put("param2", "YYYY");
String url = "http://my-url/action?%s";
String parametrizedArgs = params.keySet().stream().map(k ->
String.format("%s={%s}", k, k)
).collect(Collectors.joining("&"));
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
HttpEntity<String> entity = new HttpEntity<>(headers);
restTemplate.exchange(String.format(url, parametrizedArgs), HttpMethod.GET, entity, String.class, params);