调用外部不可信接口时我们要做一下超时限制,防止接口返回数据过慢造成程序异常,我们可以设置相应的超时时间。

如何使用?

直接上代码吧

方式一:临时配置

临时使用

  1. SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
  2. //设置连接超时时间 时间单位为毫秒
  3. factory.setConnectTimeout(600000);
  4. //设置等待接口响应的时间 时间单位为毫秒
  5. factory.setReadTimeout(20000);
  6. //创建restTemplate示例
  7. RestTemplate restTemplate = new RestTemplate(factory);

方式二:全局配置

使用Spring配置类做全局配置,使用时通过 @Autowired 注解得到 RestTemplate 对象。

@Configuration
public class RestTemplateConfig {
    @Bean
    public RestTemplate getRestTemplate() {
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        //设置连接超时时间 时间单位为毫秒
        factory.setConnectTimeout(600000);
        //设置等待接口响应的时间 时间单位为毫秒
        factory.setReadTimeout(20000);
        return new RestTemplate(factory);
    }
}