不做CRUD的我开源了Springboot API一键生成器

作 者:程序猿小码
原文链接:
Springboot API 一键生成器写这个项目 , 最大的想法就是:不做CRUD 程序猿
Springboot 在我们平时开发项目当中 , 是如此的常用 。 然而 , 比如平时我们写的一些:

  • XX 管理系统
  • XX 管理后台
  • XX XXXX
诸如此类 , 无非是一张表格、带有分页、非常标准的一个增删改查页面 。 很多时候再想 , 这样重复的工作 , 能不能有一个东西替我们实现呢?把重复的代码生成 , 而我关注有 业务逻辑 的地方就行 。
不做CRUD的我开源了Springboot API一键生成器文章插图
生成代码示例首先、你肯定会有一张表 , 当然 , 我们这里采用是MySQL 。 假设我们有一张后台的用户表
前提是 , 你不能偷懒 , 要写字段注释 。
CREATE TABLE `ums_admin` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '后台管理用户',`username` varchar(64) NOT NULL COMMENT '用户名',`password` varchar(64) NOT NULL COMMENT '密码',`icon` varchar(1024) NOT NULL COMMENT '头像',`lock` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0锁定1正常使用',`email` varchar(128) NOT NULL COMMENT '电子邮箱',`nick_name` varchar(32) NOT NULL COMMENT '昵称',`note` varchar(64) NOT NULL COMMENT '备注信息',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`login_time` datetime DEFAULT NULL COMMENT '最后登录时间',`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '逻辑删除标记',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;Controller
  • Controller 包含基本的 CRUD 接口 。
  • Restful 风格接口信息 , 更加容易理解接口含义 。
  • Swagger 生成基本的API 文档信息 , 以及测试接口 。
  • 校验参数完整性!
@Api(tags = "ApiUmsAdminController",description = "后台用户")@RestController@RequestMapping("/umsAdmin")@Validatedpublic class ApiUmsAdminController {@Autowiredprivate UmsAdminService umsAdminService;/*** 查询所有后台用户* author: mrc** @return xyz.chaobei.common.api.CommonResult* @since 2020-10-12 11:18:42**/@ApiOperation("查询所有后台用户")@GetMapping("/")public CommonResult getAll() {List allList = umsAdminService.findAll();return CommonResult.success(allList);}/*** 默认分页请求后台用户* author: mrc** @param pageAO 分页查询参数* @since 2020-10-12 11:18:42* @return xyz.chaobei.common.api.CommonResult**/@ApiOperation("默认分页请求后台用户")@PostMapping("/page")public CommonResult paging(@RequestBody @ApiParam("分页查询参数") UmsAdminPageAO pageAO) {Page allList = umsAdminService.findPage(pageAO);return CommonResult.success(allList);}/*** 保存一个后台用户* author: mrc** @param params 保存字段* @since 2020-10-12 11:18:42* @return xyz.chaobei.common.api.CommonResult**/@ApiOperation("保存一个后台用户")@PostMapping("/")public CommonResult save(@RequestBody @Valid @ApiParam("保存字段") UmsAdminSaveAO params) {boolean isSave = umsAdminService.save(params);return CommonResult.result(isSave);}/*** 修改一个后台用户* author: mrc** @param id 被修改的ID* @param params 被修改的字段* @since 2020-10-12 11:18:42* @return xyz.chaobei.common.api.CommonResult**/@ApiOperation("修改一个后台用户")@PutMapping("/{id}")public CommonResult update(@PathVariable("id") @ApiParam("被修改的ID") Integer id, @Valid @RequestBody @ApiParam("被修改的字段") UmsAdminSaveAO params) {boolean isUpdate = umsAdminService.updateById(params,id);return CommonResult.result(isUpdate);}/*** 删除一个后台用户* author: mrc** @param id 被删除的ID* @since 2020-10-12 11:18:42* @return xyz.chaobei.common.api.CommonResult**/@ApiOperation("删除一个后台用户")@DeleteMapping("/{id}")public CommonResult delete(@Valid @NotNull @PathVariable("id") @ApiParam("被删除的ID") Integer id) {boolean isDelete = umsAdminService.deleteById(id);return CommonResult.result(isDelete);}}