1.SpringCloud简介
1.1简介
springCloud将现在非常流行的技术整合到一起,实现了:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能
1.2版本
Spring Clound 和Spring Boot版本对应关系 :
1.3详解看pdf以及https://gitee.com/smiling-gentleman/springcloud-template
2.个人出现的bug以及解决办法
1.服务调用者无法传参给服务提供者
解决方法:
如果传递参数为基本类型,则在服务调用者的UserClient接口类中找到对应方法,在参数前加上@RequestParam,如果是自定义对象,则加上@RequestBody 在调用者的controller里面则不需要
在提供者的controller里面同样也得加上
这样就能顺利在调用者和提供之间顺利传递参数
2.调用者无法得到提供者返回的数据
显示效果遇上一个问题差不多
在提供者和调用者的工程里添加相同路径相同名称的包与实体类
在提供者的实体类中,由于提供者需要与数据库建立连接,所以需要在实体类中添加与数据库相关的注解,这里我是用的是mybatisPlus,各位爷按自己的需求进行添加
调用者不需要连接数据库,只需要有该实体类与提供者做对应即可
提供者实体类:
调用者实体类:
后续操作:在提供者的controller的方法上添加@ResponseBody注解
这样就能将从数据库得到的数据传递给调用者
3.调用者无法找到提供者对应的方法
错误显示效果与上述问题显示效果还是差不多。。。
在UserClient接口类中添加注解 @FeignClient,并在注解中写上提供者的application.name
在提供者的yml中写上以下标红线的配置信息
回到UserClient中在@FeignClient注解中写上刚添加的application.name
并在与提供者对应的抽象方法上加上@RequestMapping注解,括号里写上提供者controller对应的地址