enjoy-api 【乐享后端】
一款开箱即用的开源后端接口基础框架,使用kotlin为核心开发语言,集成了基于jwt的登录、rbac权限等基础功能,在做新项目时,可以让你零成本起步,不管是在企业内做新项目的开发,还是程序员自己接私活,可以大大降低开发成本,让你独立一个人快速高质量的完成一个新项目。
(1)集成了基于redis的jwt鉴权机制;
(2)集成了高效简便的enjoy-dao数据库操作框架;
(3)集成了基于rbac的权限管理整套api接口,包含用户、角色、权限、用户角色分配、角色权限分配、菜单管理;
(4)集成了swagger接口文档;
(5)集成了代码生成器(tools/enjoy-dao-ui.bat),一键生成单个模块的后端api代码;
1. 项目代码
下载代码
(1)git clone https://github.com/sujianfeng-vip/enjoy-api.git
(2)git clone https://gitee.com/sujianfeng/enjoy-api.git
2. 项目环境
JDK 1.8 +
Gradle 7.0 +
MySql 8.0 +
建议使用IDE:IntelliJ IDEA
3. 项目初始化
(1)数据库初始化
创建数据库,并运行 doc/mysql_db_init.sql
(2)配置文件
配置文件:
80_web/src/main/resources/application-dev.yml (开发环境)
80_web/src/main/resources/application-test.yml (测试环境)
80_web/src/main/resources/application-prod.yml (生产环境)
(3)数据库配置
配置文件中,注意有两处不要遗漏了database的数据库名称修改(此文档是enjoy_api为例)
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/enjoy_api?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
username: root
password: 960720
database: enjoy_api
(4)配置缓存库
spring:
redis:
database: 12
host: 127.0.0.1
port: 6379
4. 项目启动
(1) 项目编译打包
gradle build -x test
(2) 项目启动
开发环境启动
运行 start-dev.bat
(3) 查看接口文档
http://127.0.0.1:8080/doc.html
5. 开发新功能接口案例
(1) 案例描述
我们以开发一个【课程定义】模块,包含课程的增删改查等接口api
(2) 创建表结构SQL
-- ----------------------------
-- Table structure for `demo_course`
-- 约定:id、biz_status、create_time、update_time、state、remark、create_user_id、update_user_id是所有表固定有的字段
-- ----------------------------
DROP TABLE IF EXISTS `demo_course`;
CREATE TABLE `demo_course` (
`id` varchar(50) NOT NULL,
`code` varchar(50) DEFAULT NULL COMMENT '课程编号',
`name` varchar(50) DEFAULT NULL COMMENT '课程名称',
`biz_status` int DEFAULT NULL COMMENT '业务类型:0-启用,1-禁用',
`create_time` bigint DEFAULT NULL COMMENT '创建时间',
`update_time` bigint DEFAULT NULL COMMENT '最后修改时间',
`state` int DEFAULT NULL COMMENT '数据状态:0-正常,1-删除',
`remark` text,
`create_user_id` varchar(50) DEFAULT NULL,
`update_user_id` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='课程定义';
(3) 配置代码生成工具的数据库链接
注意:有两处数据库名称(此文档是enjoy_api为例)需要修改
(4) 启动代码生成工具
进入项目中的tools目录,windows运行enjoy-dao-ui.bat,liunx或mac运行enjoy-dao-ui.sh
(5) 代码生成工具启动时自动创建表对应的实体模型
(6) 【课程定义】模型代码
(7) 代码生成工具生成【课程定义】的后端接口api代码
(8) 项目打包
gradle build -x test
(9) 启动项目,查看下接口文档
运行 start-dev.bat
http://127.0.0.1:8080/doc.html
文档至此结束!