Spring Boot 2 RestTemplate¶
Step to do¶
- Create a Spring Boot project for Restful Web-Services.
- Create a Spring Boot project for Spring RestTemplate
- Create a simple Bussiness Model
- Implement RestController for Restful Web-Services
- Configure Restful-Web Services Security
- Config Spring RestTemplate Security
- Create a RestfulClient
- Make calls Restful Service by RestfulClient
- Build & Enjoy Results
Config Spring RestTemplate Security¶
- For customize RestTemplate Client, we use constructure:
RestTemplate restTemplate = new RestTemplate(requestFactory);
public class RestTemplateBuilder {
public static RestTemplate securityRestTemplateBuilder(String username, String password) {
//...
}
}
- Configure
HttpClient
for Username/Password credential
private static HttpClient createHttpClient(String username, String password) {
CredentialsProvider provider = new BasicCredentialsProvider();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(username, password);
provider.setCredentials(AuthScope.ANY, credentials);
HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build();
return client;
}
- Config
ClientHttpRequestFactory
for Spring RestTemplate:
private static ClientHttpRequestFactory createRequestFactory(HttpClient httpClient) {
HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
clientHttpRequestFactory.setHttpClient(httpClient);
return clientHttpRequestFactory;
}
- Config Spring RestTemplate with
ClientHttpRequestFactory
:
public class RestTemplateBuilder {
public static RestTemplate securityRestTemplateBuilder(String username, String password) {
HttpClient httpClient = createHttpClient(username, password);
ClientHttpRequestFactory requestFactory = createRequestFactory(httpClient);
RestTemplate restTemplate = new RestTemplate(requestFactory);
return restTemplate;
}
}