【开源】Springboot API 一键生成器

本文介绍了一个Springboot API一键生成器,旨在减少重复的CRUD工作,允许开发者专注于业务逻辑。通过选择数据库表、指定字段和校验规则,可自动生成Controller、SaveAO、Service和Mapper代码,并提供了RestController模式、Swagger集成和自定义配置的说明。项目还支持通过Swagger测试API,简化了Springboot项目的开发流程。
摘要由CSDN通过智能技术生成

Springboot API 一键生成器

写这个项目,最大的想法就是:不做CRUD 程序猿

Springboot 在我们平时开发项目当中,是如此的常用。然而,比如平时我们写的一些:

  • XX 管理系统
  • XX 管理后台
  • XX XXXX

诸如此类,无非是一张表格、带有分页、非常标准的一个增删改查 页面。很多时候再想,这样重复的工作,能不能有一个东西替我们实现呢?把重复的代码生成,而我关注有 业务逻辑 的地方就行。

image.png

欢迎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 被修改的字段
     * &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值