Сообщения

Показаны сообщения с ярлыком "RestTemplate"

Spring Boot: настройка RestTemplate

Изображение
Существует три основных подхода к настройке RestTemplate, в зависимости от того, насколько широко вы хотите применить настройки. Чтобы сделать область возможных настроек как можно более узкой, добавьте автоматически настроенный RestTemplateBuilder и затем вызовите его методы, как требуется. Каждый вызов метода возвращает новый экземпляр RestTemplateBuilder, поэтому настройки влияют только на использование компоновщика (builder'а). Чтобы сделать аддитивную настройку всего приложения, используйте bean-компонент RestTemplateCustomizer. Все такие bean-компоненты автоматически регистрируются в автоматически настроенном RestTemplateBuilder и применяются ко всем шаблонам, созданным с его помощью. В следующем примере показан настройщик, который настраивает использование прокси для всех хостов, кроме 192.168.0.5: static class ProxyCustomizer implements RestTemplateCustomizer { @Override public void customize(RestTemplate restTemplate) { HttpHost proxy = new HttpHost(...

Spring Boot: вызов REST сервисов с помощью RestTemplate

Изображение
Если вам нужно вызывать удаленные REST службы из вашего приложения, вы можете использовать класс RestTemplate Spring Framework. Поскольку экземпляры RestTemplate часто необходимо настраивать перед использованием, Spring Boot не предоставляет ни одного автоматически настроенного компонента RestTemplate. Однако он автоматически настраивает RestTemplateBuilder, который может использоваться для создания экземпляров RestTemplate при необходимости. Автоматически настроенный RestTemplateBuilder гарантирует, что разумные HttpMessageConverters будут применены к экземплярам RestTemplate. Следующий код показывает типичный пример: @Service public class MyService { private final RestTemplate restTemplate; public MyService(RestTemplateBuilder restTemplateBuilder) { this.restTemplate = restTemplateBuilder.build(); } public Details someRestCall(String name) { return this.restTemplate.getForObject("/{name}/details", Details.class, name); } } Res...