SpringBoot整合OpenFeign案例
一、相关依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
二、全局配置
server: port: 80 spring: application: name: cloud-order-service eureka: client: #表示是否将自己注册进Eureka Server 默认为true register-with-eureka: true #是否从Eureka Server抓取已有的注册信息,默认为true。单节点无所谓。集群必须设置为true才能配合ribbon使用负载均衡 fetch-registry: true service-url: defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/ #设置Feign客户端连接超时时间(openFeign默认支持ribbon) ribbon: #指的是建立连接所用时间,使用于网络状态正常情况下,两端连接所用时间 ReadTimeout: 5000 #指的是建立连接后从服务器读取到可用资源所用的时间 ConnectTimeout: 5000 logging: level: #feign 日志以什么级别监控哪个接口 com.zhq.springcloud.feign.*: debug
三、启动类开启Feign配置@EnableFeignClients
@EnableFeignClients @SpringBootApplication public class OrderFeignMain80 { public static void main(String[] args) { SpringApplication.run(OrderFeignMain80.class,args); } }
四、Feign客户端案例代码
@Component @FeignClient(value = "CLOUD-PAYMENT-SERVICE") @RequestMapping("/payment") public interface PaymentFeignService { @PostMapping("/create") CommonResult<Integer> create(@RequestBody Payment payment); @GetMapping("/getById/{id}") CommonResult<Payment> getById(@PathVariable("id") Long id); @GetMapping("/feign/timeout") String paymentFeignTimeout(); }