Springboot API 一键生成器
写这个项目,最大的想法就是:不做CRUD 程序猿
Springboot 在我们平时开发项目当中,是如此的常用。然而,比如平时我们写的一些:
- XX 管理系统
- XX 管理后台
- XX XXXX
诸如此类,无非是一张表格、带有分页、非常标准的一个增删改查
页面。很多时候再想,这样重复的工作,能不能有一个东西替我们实现呢?把重复的代码生成,而我关注有 业务逻辑 的地方就行。
欢迎Star,你的支持是我继续的动力!
生成代码示例
首先、你肯定会有一张表,当然,我们这里采用是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")
@Validated
public class ApiUmsAdminController {
@Autowired
private UmsAdminService umsAdminService;
/**
* <p>查询所有后台用户
* <p>author: mrc
*
* @return xyz.chaobei.common.api.CommonResult
* @since 2020-10-12 11:18:42
**/
@ApiOperation("查询所有后台用户")
@GetMapping("/")
public CommonResult getAll() {
List<UmsAdminModel> allList = umsAdminService.findAll();
return CommonResult.success(allList);
}
/**
* <p>默认分页请求后台用户
* <p>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<UmsAdminModel> allList = umsAdminService.findPage(pageAO);
return CommonResult.success(allList);
}
/**
* <p>保存一个后台用户
* <p>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);
}
/**
* <p>修改一个后台用户
* <p>author: mrc
*
* @param id 被修改的ID
* @param params 被修改的字段
* &