- 生成完善RESTful APIs 应用
- 自动生成完善的Swagger文档
- 自动生成数据库表的模型和标注
- 支持 JWT Authorization Bearer 身份验证 and JWT 中间件
- 支持登陆防火墙
- 支持静态资源替代nginx
- 可配置的跨域cors中间件
- 用户友好的自定义配置
- 支持定时任务
- 支持图形工具GUI
- 内置高效率的内存数据库
您可以通过如下的方式安装 ginbro 工具:
go get github.com/dejavuzhou/ginbro
安装完之后,ginbro
可执行文件默认存放在 $GOPATH/bin
里面,所以您需要把 $GOPATH/bin
添加到您的环境变量中,才可以进行下一步。
如何添加环境变量,请自行搜索
如果你本机设置了GOBIN
,那么上面的命令就会安装到 GOBIN
下,请添加GOBIN
到你的环境变量中
cd $GOPATH/src/github.com/dejavuzhou/ginbro
go build
./ginbro -h
ginbro gen -u root -p ginbro -c utf8 -a 127.0.0.1:3306 --authTable=users --authPassword=password --outPackage=github.com/dejavuzhou/ginbro_demo -d=ginbro
- cd 到生成的项目
- go build 和run
- 访问
http://127.0.0.1:5555/swagger
生成新project目录树 ginbro-son DEMO代码
C:\Users\zhouqing1\go\src\github.com\mojocn\apiapp>tree /f /a
| config.toml
| main.go
| readme.md
|
+---config
| viper.go
+---handlers
| gin.go
| handler_wp_posts.go
| handler_wp_users.go
|
+---models
| db.go
| model_wp_posts.go
| model_wp_users.go
|
+---static
| | .gitignore
| | index.html
| | readme.md
| |
| \---index_files
| style.css
| syntax.css
|
\---swagger
.gitignore
doc.yml
favicon-16x16.png
favicon-32x32.png
index.html
oauth2-redirect.html
readme.md
ginbro gen -h
generate a RESTful APIs app with gin and gorm for gophers. For example:
ginbro gen -u eric -p password -a "127.0.0.1:3306" -d "mydb"
Usage:
create gen [flags]
Flags:
-a, --Mysql IP PORT mysql host:port (default "dev.mojotv.com:3306")
-l, --应用地址端口 app listen Address eg:mojotv.cn, use domain will support gin-TLS (default "127.0.0.1:5555")
-c, --数据库字符集 database charset (default "utf8")
-d, --数据库名称 database name (default "dbname")
-h, --help help for gen
-o, --输出地址 输出地址相对于$GOPATH/src
-p, --数据库密码 database password (default "Password")
-u, --数据库用户 database user name (default "root")
--authTable 登陆用户表名 default users
--authPassword 登陆用户密码字段 default password
go get github.com/gin-contrib/cors
go get github.com/gin-contrib/static
go get github.com/gin-gonic/autotls
go get github.com/gin-gonic/gin
go get github.com/sirupsen/logrus
go get github.com/spf13/viper
go get github.com/spf13/cobra
go get github.com/go-redis/redis
go get github.com/go-sql-driver/mysql
go get github.com/jinzhu/gorm
go get github.com/dgrijalva/jwt-go
- Auth 和 JWT middleware
- 支持一键生产jwt密码验证
- 分页总数做mem缓存
- json不现实password等隐私字段
- 生成友好的.gitignore
- go test 单元测试
- 完善go doc
- 支持MongoDB数据库
- 更具体数据映射关联模型
- 支持PostgreSQL数据库
- 支持生成gRPC服务
- 更详细的gorm tag信息
- swaggerDoc参数说明继续优化
- 支持其他语言框架(php-laravel/lumne ,python flask ...)
- sqlite
- mysql表中没有id/ID/Id/iD字段将不会生成路由和模型
- json字段 在update/create的时候 必须使可以序列号的json字符串(
eg0:"{}" eg1:"[]"
),否则mysql会报错