feign是对ribbon进行了包装。
注意:返回结果的dto对象需要无参构造函数,否则报错
- 在启动类中添加@EnableFeignClients注解,表明启用feign客户端
- 在接口上添加注解@FeignClient(name="product-service"),表明这是一个feign客户端类接口
@FeignClient("product-service")
public interface ProductClientService {
@GetMapping("/api/v1/product/queryProductByIds")
public List<Product> queryProductByIds(@RequestParam List<Integer> ids);
}
复制代码
- 设置超时时间
默认readTimeout是60秒,但是默认Hystrix默认是1秒,所以超过1秒也会超时。
# 2个属性要同事设置,否则不生效,设置读取超时时间11秒
feign.client.config.default.connectTimeout=5000
feign.client.config.default.readTimeout=11000
复制代码