在Spring Boot中,可以通过配置来设置接口响应的超时时间。以下是几种常见的方法:
- 使用application.properties或application.yml配置文件设置连接超时和读取超时:
 
# application.properties
# 设置连接超时时间(毫秒)
spring.datasource.hikari.connection-timeout=30000
# 设置读取超时时间(毫秒)
spring.datasource.hikari.validation-timeout=5000
# application.yml
spring:
  datasource:
    hikari:
      connection-timeout: 30000
      validation-timeout: 5000- 如果是Web请求,可以通过RestTemplate设置超时:
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 
@Configuration
public class RestClientConfig {
 
    @Bean
    public RestTemplate restTemplate() {
        HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
 
        // 设置连接超时时间(毫秒)
        requestFactory.setConnectTimeout(3000);
        // 设置读取超时时间(毫秒)
        requestFactory.setReadTimeout(5000);
 
        return new RestTemplate(requestFactory);
    }
}- 如果使用的是Feign客户端进行远程调用,可以通过Feign的配置来设置超时:
 
import feign.Request;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class FeignConfig {
 
    @Bean
    public Request.Options feignOptions() {
        return new Request.Options(3000, 5000); // 连接超时和读取超时时间(毫秒)
    }
}确保超时时间设置得合理,以免因为网络问题或服务端处理慢导致不必要的客户端超时错误。