Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。服务直接的调用有了feign可谓方便许多,只需一个接口,一个注解即可调用服务。
步骤:
1、在它的pom文件引入Feign的起步依赖spring-cloud-starter-feign
2、将服务注册到Eureka即可
3、开启Feign功能
4、
5、使用Feign过程的三个坑:
(1)在接口中@GetMapping不支持,必须是@RequestMapping,然后写方法才可以。
(2)圆圈中的value必须要写。否则报错。
(3)
当请求对象是复杂对象时的问题:
6、如何自定义feign的配置:
这个跟自定义ribbon的配置类似:
7、关于使用feign时第一次总是timeout的情况解决
问题截图:
问题原因:
因为hystrix的超时机制导致的,feign支持断路器的功能
问题解决: