RestTemplate

RestTemplate的使用

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@Configuration
public class RestTemplateConfig {
// @Value("${emq.username}")
// private String username;
// @Value("${emq.password}")
// private String password;
// @Bean
// public RestTemplate restTemplate(RestTemplateBuilder builder){
// return builder.basicAuthentication(username,password).build();
// }

@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory() {

SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setReadTimeout(5000);
factory.setConnectTimeout(15000);
// 设置代理
//factory.setProxy(null);

return factory;
}

@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {

RestTemplate restTemplate = new RestTemplate(factory);

return restTemplate;
}

}

也可以通过RestTemplateBuilder来设置一些参数,比如验证、超时时间等。

使用

1
2
3
4
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> requestEntity = new HttpEntity<String>(jsonString, requestHeaders);
ResponseEntity<String> res = restTemplate.postForEntity(url, requestEntity, String.class);

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!