CodeGen是一个基于Go实现的后端代码生成器,并支持生成文档与调试接口。
只需要更改yaml定义的数据结构
,即可自动生成对应的所有RESTful接口与文档。
本项目需要 Go 语言环境。
-
修改当前项目下的
conf/config.yaml
文件(当前项目以普通的选课系统作为作为示例,包括:课程表,选课表,教师表,学院表,学生表等),改为期望的数据表。并修改好项目名称,MySQL和Redis等必要配置信息。 -
修改好配置文件后在当前项目根目录下执行
go run main.go
,至出现Codegen Success!
提示 -
运行成功后,在
dist
目录下即为生成的项目。 -
cd dist
进入生成好的项目目录,使用make fmt
格式化并下载相关的项目依赖。 -
使用
make run
即可启动项目。
运行项目后访问 http://localhost:8080/swagger/index.html
即可,可见如下页面:
在当前页面下可以直接执行请求,此外,也可以通过PostMan导入。链接为http://localhost:8080/swagger/doc.json
,示意图如下:
导入成功后,即可查看所有接口与测试数据:
dist
├── Makefile // projects controller
├── auth // authorization using cookie and session
│ └── session.go
├── conf // config file
│ ├── config.go
│ └── config.yaml
├── dal // data access layer
│ ├── user.go
│ └── init.go
├── go.mod // module info
├── handler // request handlers
│ └── user.go
├── main.go
├── model // data structue
│ ├── user.go
│ └── response.go
└── router // request router
├── actuator.go // health actuator
└── router.go
支持消息队列,JWT,参数校验规则等。
这个项目的灵感来自各种数据库相关的大作业,基于避免重复造轮子
的原则,简化了新建项目的成本,并增加了对数据库与缓存的支持。
本项目基于 2.0 版本的 APACHE 许可证,链接:http://www.apache.org/licenses/LICENSE-2.0