业务流程比较复杂不建议使用Feign
Feign是对服务端和客户端通用接口的封装,让代码可以复用做到统一管理。
使用
1.jar包导入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.启动类导入feign客户端![](https://img-blog.csdnimg.cn/bf40fd2e1b644a9aa0f6a5bc69de8b77.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oqX5YaF5Y2356iL5bqP5ZGY,size_20,color_FFFFFF,t_70,g_se,x_16)
3.feign客户端![](https://img-blog.csdnimg.cn/fd18c90b9df64cce8b6a36803ed932ba.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oqX5YaF5Y2356iL5bqP5ZGY,size_20,color_FFFFFF,t_70,g_se,x_16)
4.服务端接口![](https://img-blog.csdnimg.cn/6e2566f526424918b63bf38be394017e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oqX5YaF5Y2356iL5bqP5ZGY,size_20,color_FFFFFF,t_70,g_se,x_16)
5.参数传递(对象类型参数)
调用方
服务方
实际上传的是字符串
其他参数
调用方
这里必须指定参数名称
服务方
6.Feign的服务降级
这里在调用对应feign客户端方法出现异常了,就会回调到create方法中,最终会回调到对应的客户端方法中。
7.Feign的异常过滤器
过滤器把异常返回后,feign前面定义的降级方法就会调到create方法。 Feign是对hystrix和ribbon的再封装 优点:提取公共代码,减少代码量 缺点:模块耦合性高了 Feign 个人不建议使用,流程简单并发不高的方法可以用一用