33. Calling REST services
If you need to call remote REST services from your application, you can use Spring Framework’s RestTemplate
class. Since RestTemplate
instances often need to be customized before being used, Spring Boot does not provide any single auto-configured RestTemplate
bean. It does, however, auto-configure a RestTemplateBuilder
which can be used to create RestTemplate
instances when needed. The auto-configured RestTemplateBuilder
will ensure that sensible HttpMessageConverters
are applied to RestTemplate
instances.
Here’s a typical example:
_@Service_ public class MyBean { private final RestTemplate restTemplate; public MyBean(RestTemplateBuilder restTemplateBuilder) { this.restTemplate = restTemplateBuilder.build(); } public Details someRestCall(String name) { return this.restTemplate.getForObject("/{name}/details", Details.class, name); } }
Tip | |
---|---|
RestTemplateBuilder includes a number of useful methods that can be used to quickly configure a RestTemplate . For example, to add BASIC auth support you can use builder.basicAuthorization("user", "password").build() . |