依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
对应接口
@FeignClient(name = "stock-service", path = "/stock")
public interface StockFeignService {
/**
* 库存减少
* 直接将应用接口的代码拿过来
*/
@RequestMapping("/test")
String test();
}
开启
在启动类上加@EnableFeignClients
使用
@Resource
private StockFeignService stockFeignService;
@RequestMapping("/test")
public String test() {
System.out.println("订单");
String test = stockFeignService.test();
return "order" + test;
}
日志级别
可以调整日志级别看到请求的具体信息
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignConfig {
@Bean
public Logger.Level feignLevel() {
return Logger.Level.FULL;
}
}
- NONE:性能高,适合生产环境,不记录任何日志
- BASIC:适用生产环境追踪问题,仅记录请求方法、URL、响应状态和执行时间
- HEADERS:在BASIC基础上增加header
- FULL:适合开发,所有
配置
# 日志级别
feign.client.config.stock-service.logger-level=full
# 连接超时时间
feign.client.config.stock-service.connect-timeout=5000
# 请求处理超时时间
feign.client.config.stock-service.read-timeout=2000