Feign
声明式服务调用
替代 RestTemplate 和 Ribbon;(Feign对两者进行了封装)
1. Feign的使用
1.1 pom坐标的导入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
1.2 Feign功能注入引入
@EnableFeignClients //feign功能的引入
启动类上添加 Feign注解
1.3 编写Feign接口
@FeignClient(value="FEIGN-PROVIDER") //服务提供者的应用名称
public interface TestFeignClient{
//编写调用接口,接口的声明规则和提供方接口保持一致
@GetMapping("/testController/test/{id}")
public Goods test(@PathVariable("id") int id);
}
1.4 使用
@Autowired
private TestFeignClient testFeignClient;
@GetMapping("/test")
public Goods testTest(){
Goods goods = testFeignClient.test(1);
}
2. Feign 的超时配置
ribbon:
ConnnectTimeout: 1000 # 连接超时时间 默认 1s
ReadTimeOut: 3000 # 逻辑处理的超时时间默认1s。这里设置 3s