当前位置:   article > 正文

SpringCloud,Feign实现服务间相互调用_feign 跨服务调用

feign 跨服务调用

SpringCloud中用Feign实现服务间相互调用


描述:
在做项目的过程中,遇到了a服务需要调用b服务的方法的场景,一开始,我是把b服务作为a服务的一个模块也是可以实现的,但这样调用的时候项目出了问题,所以想着换一种方法实现

一、在b服务创建一个公共的controller,把所有被调用的方法都暴露出来
在这里插入图片描述
注意:如果参数不是必须的加上required = false,如:
@RequestParam(value = “content”,required = false)
二、在a服务的pom文件引入jar包
在这里插入图片描述
三、在a服务创建一个feign接口,用来统一调用其他服务的方法
注意:这里的参数要加上@RequestParam 或者@RequestBody 注解,HttpRequest不能作为参数,因为参数其实是一个对象
在这里插入图片描述
四、在a服务的启动类上加上开启Feign的开关
在这里插入图片描述
五、在a服务需要调用的地方注入feign接口,就可以正常调用了
在这里插入图片描述
但是最后我发现还是有一个隐患的,在我服务刚启动的时候,调用另一个服务的话,可能这个服务还没有注册到eureka,所以可能会报找不到服务的错。如果大家有其他好的解决办法的,欢迎评论区讨论

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/84546
推荐阅读
相关标签
  

闽ICP备14008679号