Я не тестировал следующий подход, но что если вы передадите расширенный URL-адрес экземпляру restTemplate?
String uploadUrl = "...{your_params_in_placeholders}";
URI expanded = new UriTemplate(url).expand(uploadUrl, <param_values>);
url = URLDecoder.decode(expanded.toString(), "UTF-8");
restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
Если он не работает, вы можете попытаться обратить внимание на закодированные значения в вашем URL (я имею в виду "% 2F" и т. д.)