我是个小菜鸡,写了一个系列,面向初学者,有什么错误忘大佬们及时指出加以改正,这个系列主要有eureka、ribbon、feign、hystrix、gateway,简单的搭建与使用
前两篇
eureka:https://blog.csdn.net/weixin_42699857/article/details/103697462
ribbon:https://blog.csdn.net/weixin_42699857/article/details/103697524
看完ribbon接着看这个
Feign
ribbon调用远程微服务,写法是这样
那么如果我们大量调用接口,或者拼接url,那写法还是不方便,so,我们讲一下一个新的组件 -feign
一、什么是feign
Netflix公司开发的声明式、模板化http客户端,模板来源于websocket,可以帮助我们更加便捷优雅的调用http api,springcloud里面使用feign非常简单,创建接口,添加注解,完成,那么在springcloud中feign整合了ribbon、eureka,并且支持springmvc注解。
二、使用
1、 导入依赖
orderServer
我们先看一下controller里面的接口地址
那么我们现在orderserver里面新建一个包,再建一个client类,写上这个接口
2、 配置调用接口
Feign支持springmvc的注解,我们的feignClient里面就写着controller调用的服务名称,RequestMapping里面写controller绿色框的地址,我给了一个无参的方法,如果有参数的话,跟正常接参数的注解一样
3、 激活feign
那么Feign整合了ribbon
所以我们的写法就是这样
4、 通过自定义接口调用远程微服务
现在我们重新整理一下,注掉之前写的所有
现在我们重新启动以后继续按照这个路径访问
现在的代码就优雅了许多
当然,出现我现在讲的这些,我们还会出现很多情况,比如我们需要日志什么的,这个有兴趣的可以自己查一下,也很简单
至于feign跟ribbon的区别,有兴趣的可以去看一下源码