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

參考

相關文章
相關標籤/搜索