Spring中RestTemplate使用

问题

须要调用第三方服务,由于这里不须要考虑负载第问题,这里就直接使用Spring中RestTemplate解决了。java

解决

配置

@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
    int timeout = 5000;
    return builder
        .setConnectTimeout(Duration.ofMillis(timeout))
        .setReadTimeout(Duration.ofMillis(timeout))
        .build();
}

在Application中配置一个RestTemplate的Java Bean便可。注意调用第三方服务,须要设置超时时间,以避免第三方服务问题,把自身服务拖垮。spring

使用

...
// 注解注入Bean
@Autowired
private RestTemplate restTemplate;
...
// 发送post请求调用
ResponseEntity<Result> responseEntity = restTemplate.postForEntity(url, paramObject, Result.class);
...

这里发送的Post请求,paramObject会转化成json做为请求参数,Result.class是返回的类。json

参考

相关文章
相关标签/搜索