RestTemplate发送HTTP请求如何设置请求超时时间
时间: 2023-11-02 22:44:54 浏览: 172
您可以使用RestTemplate的`SimpleClientHttpRequestFactory`来设置请求超时时间。下面是一个示例代码:
```java
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
public class Main {
public static void main(String[] args) {
int timeout = 5000; // 设置超时时间为5秒
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(timeout);
factory.setReadTimeout(timeout);
RestTemplate restTemplate = new RestTemplate(factory);
// 使用restTemplate发送请求
String response = restTemplate.getForObject("http://example.com", String.class);
System.out.println(response);
}
}
```
在上述代码中,我们创建了一个`SimpleClientHttpRequestFactory`对象,并通过`setConnectTimeout`和`setReadTimeout`方法设置了连接和读取的超时时间,单位为毫秒。然后,我们将该`SimpleClientHttpRequestFactory`对象传递给`RestTemplate`的构造函数来创建一个带有自定义超时时间的RestTemplate实例。最后,我们使用`restTemplate`发送HTTP请求并获取响应。
请根据您的实际需求调整超时时间的数值。
阅读全文