购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 用户微服务编码

下面改造用户微服务中的业务代码,把原单体项目newbee-mall-api中的功能模块一点一点地整合到这个工程里,开发出一个微服务架构项目。

2.3.1 引入业务依赖

原来的单体 API 项目中有 MyBatis、Swagger 等依赖项,在改造时需要一一引入微服务架构项目,在pom.xml主文件中增加依赖配置,代码如下:

打开用户微服务 newbee-mall-cloud-user-service 的工程目录,在 pom.xml 子文件中增加依赖项,代码如下:

项目所需的Maven依赖配置完成。

2.3.2 商城用户模块中的接口改造

打开用户微服务newbee-mall-cloud-user-service的工程目录,在ltd.user.cloud.newbee包下依次创建config包、dao包、entity包、service包和util包,在resources目录下新增mapper文件夹用于存放Mapper文件,将原单体API项目中与管理员用户相关的业务代码和 Mapper 文件依次复制进来,完成后还需要在主类上添加 MyBatis 的扫描注解,让这些Mapper文件能够被正确地扫描和加载。

由于代码量较大,这里就不一一介绍和讲解了,读者按照对应的文件目录将代码从单体项目复制过来即可。

修改newbee-mall-cloud-user-service工程的application.properties配置文件,添加数据库连接及MyBatis扫描配置,代码如下:

上述工作完成后,目录结构如图2-4所示。

本步骤中的源代码,涉及的数据库为 newbee_mall_cloud_user_db,数据库表为 tb_newbee_mall_admin_user和tb_newbee_mall_admin_user_token,在开发过程中均会用到。

图2-4 目录结构

建表语句如下:

2.3.3 用户微服务改造过程中遇到的问题

笔者在用户微服务改造过程中遇到了一个小问题,在这里分享给各位读者。如果读者在实战时遇到这个问题,可以直接参考解决办法。

在把管理员模块的代码按照对应的目录复制到 newbee-mall-cloud-user-service 工程后,无法正常启动项目,而是报告异常,报错日志如下:

这个问题是Spring Boot版本与Swagger版本不兼容导致的。因为当前工程中使用的是Spring Boot 2.6.3,开发时引入的是Swagger 2.8.0,所以报告异常。将Swagger 2.8.0改成Swagger 3.0.0之后就一切正常了。

当然,Swagger 3.0.0与Swagger 2.8.0在整合时的区别还是挺大的,依赖项和配置类的写法、默认接口的访问地址都有变化,这里需要注意,在实现编码时直接参考或使用笔者提供的源代码即可。

编码完成后,准备好数据库和表就可以进行功能测试了。当然,在项目启动前需要启动Nacos Server,之后依次启动这两个项目。启动成功后,打开浏览器并在地址栏中输入如下网址:http://localhost:29000/swagger-ui/index.html。

响应结果如图2-5所示。这样,读者就可以在Swagger提供的UI页面进行接口测试了。

图2-5 用户微服务接口文档的响应结果 Tqp9btL3nyVbpIfsoZg8XjO2azTmxr/tyKbAyImhqNbiuPMKPm6N5Anuv4KhZavf

点击中间区域
呼出菜单
上一章
目录
下一章
×