Я использую Spring 5 RestTemplate в приложении Spring Boot 2 и пытаюсь установить для него базовый URL / URI, чтобы мне не приходилось добавлять его к каждому запросу. Это также позволит мне установить это значение на основе свойства.
Предыдущие версии ReleaseTemplate позволяли вам устанавливать базовый URL-адрес через конструктор (например, new ReleaseTemplate(baseUrl)). Но это уже не так.
Я вижу, что у класса DefaultUriTemplateHandler есть setBaseUrl(), который он наследует от интерфейса AbstractUriTemplateHandler, но с тех пор этот класс устарел. Предлагаемый класс замены DefaultUriBuilderFactory не имеет таких методов.
Мы ценим любые предложения. Спасибо.




Попробуйте использовать следующее: -
String BASE_URI_TEMPLATE = "http://localhost:8080";
DefaultUriBuilderFactory uriBuilderFactory = new DefaultUriBuilderFactory(BASE_URI_TEMPLATE);
RestTemplate restTemplate = new RestTemplate();
restTemplate.setUriTemplateHandler(uriBuilderFactory);
restTemplate.getForObject("/test", String.class); // like you may have used earlier
Спасибо, это фантастика. Мне не хватало метода
RestTemplate.setUriTemplateHandler(), который был ключевым. Кроме того, стоит указать другим, что вы не можете использовать это с методамиRestTemplate, для которых требуется объектURI, поскольку у него не будет полного пути.