Randy

如何实现后端开发框架(九)-自动生成API文档

1.问题描述 在前后端分离的软件系统开发中,一般后端完成RESTful API接口后,需要将API使用方法告诉前端来进行集成和联调测试。如果后端采用写API文档的方式,一是很麻烦耗时,而是代码改动后文档也要及时更新才行。有没有更方便的方式来生成API文档呢? 2.实现思路 我们利用Springdoc工具包来根据后端代码自动生成对应的API文档。 Springdoc也叫Swagger3...

如何实现后端开发框架(八)-自动生成主键ID

1.问题描述 后端在设计数据库时每张表都需要设计一个主键,那么在开发框架上如何自动生成这个主键值呢? 2.实现思路 在开发框架上给每张数据库表都设计一个独立的主键字段,如果数据表还需要业务主键那么就设计额外字段进行处理。 主键ID生成方式强烈推荐使用UUID就行了,不用使用数据库生成方式(数据库序列,自增长方式等),使用UUID在系统初始数据准备,系统上线数据准备,数据库数据迁移时会...

如何实现后端开发框架(七)-自动填充字段

1.问题描述 一般系统的数据上都需要记录创建人,修改人,创建时间,修改时间等额外信息,这些额外信息会用于数据权限处理或者业务责任标记,那么能不能在框架层面上来统一记录这些字段信息呢? 2.实现思路 Mybatis-Plus提供了一个自动填充字段的功能,我们就利用这个功能来实现对系统中通用字段的填充处理。 Mybatis-Plus的功能说明文档见:https://baomidou.co...

如何实现后端开发框架(六)-多表自定义查询

1.问题描述 Mybatis-Plus中对单表的处理比较完善,提供了很多实现方法,但是在实际开发过程中遇到的很多都是多表之间的联合查询,那么该如何处理呢? 2.实现思路 Mybatis-Plus提供了一个内置变量${ew.customSqlSegment},这个变量值存储的是queryWrapper转化后的SQL语句,我们可以利用这个参数值来简化多表联合查询的处理。 3.实现步骤 ...

如何实现后端开发框架(五)-单表自定义查询

1.问题描述 Mybatis-Plus使用QueryWrapper实现了单表中条件查询的基础功能,但是当查询条件很多,或者多个查询条件之间是“OR”关系,而不是“AND”关系时,QueryWrapper相关代码写起来也比较繁琐,能不能进一步简化代码实现呢? 2.实现思路 针对QueryWrapper相关代码实现进一步封装和简化,让开发人员使用更方便。 3.实现步骤 3.1.查询条件...

如何实现后端开发框架(四)-分页查询

1.问题描述 后端查询数据库都少不了分页查询功能,那么如何在框架层面上实现一个通用的分页查询功能,让开发人员方便的使用呢? 2.实现思路 内部使用Mybatis-Plus的分页插件,外部需要封装一下便于开发人员使用。 3.实现步骤 3.1.添加分页插件 添加Mybatis-Plus分页插件,实现分页相关功能。 @Configuration public class Mybati...

如何实现后端开发框架(三)-操作数据库

1.问题描述 后端系统经常会把数据保存到数据库中,我们一般会使用Mybatis等持久层框架来操作数据库,但是一些简单的数据库增删改查(CURD)操作,Mybatis并没有提供简化的方法,那么我们在框架中如何简化这些操作呢? 2.实现思路 寻找Mybatis的扩展框架来简化CURD操作,这里我选择的是MyBatis-Plus(https://baomidou.com/)(以前我还用过tk...

如何实现后端开发框架(二)-全局异常处理

1.问题描述 后端系统开发时需要处理各种异常情况,有些是框架本身的异常,有些是业务系统自定义的异常,如何将这些异常信息封装成统一的数据结构,然后返回给前端进行显示和处理呢? 在《如何实现后端开发框架(一)-自动封装返回值》文章里后端的数据结构已经封装成统一的数据结构了(如下所示),那么异常信息是否也能使用同样的数据结构呢? { "code": 200, "message...