Feign来调用服务

Posted 小虾米的java梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Feign来调用服务相关的知识,希望对你有一定的参考价值。

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支持断路器的功能

问题解决:

 

 

以上是关于Feign来调用服务的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud 声明式服务调用 Feign

springcloud系列四 feign远程调用服务

Feign解决服务之间调用传递token

feign

Spring Cloud Feign 1(声明式服务调用Feign 简介)

使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务