内容简介:Ginbo,GinBro,Gimbo,GimBro,Jimbo,GinOrm or GinGorm您可以通过如下的方式安装 bee 工具:安装完之后,
一行命令根据 mysql 数据库生产RESTful APIs APP
Ginbo,GinBro,Gimbo,GimBro,Jimbo,GinOrm or GinGorm
Feature
- 自动生成完善的swagger(postman)文档
- 可以server SPA应用(比如vuejs全家桶)
- 快速使用golang+gin+gorm改造依赖mysql项目
ginbo工具安装
您可以通过如下的方式安装 bee 工具:
go get github.com/dejavuzhou/ginbo
安装完之后, ginbo
可执行文件默认存放在 $GOPATH/bin
里面,所以您需要把 $GOPATH/bin
添加到您的环境变量中,才可以进行下一步。
如何添加环境变量,请自行搜索
如果你本机设置了 GOBIN
,那么上面的命令就会安装到 GOBIN
下,请添加 GOBIN
到你的环境变量中
使用
ginbo gen -u root -p PASSWORD -a "127.0.0.1:3306" -d dbname -o "github.com/mojocn/apiapp"
- cd 到生成的项目
- go build 和run
-
访问
http://127.0.0.1:5555/swagger
生成新project目录树 ginbo-son DEMO代码
C:\Users\zhouqing1\go\src\github.com\mojocn\apiapp>tree /f /a Folder PATH listing Volume serial number is 8452-D575 C:. | 2018-11-15-app.log | config.toml | main.go | readme.md | +---config | viper.go | +---handlers | gin.go | handler_wp_litespeed_img_optm.go | handler_wp_litespeed_optimizer.go | handler_wp_posts.go | handler_wp_users.go | handler_wp_yoast_seo_links.go | +---models | db.go | model_wp_litespeed_img_optm.go | model_wp_litespeed_optimizer.go | model_wp_posts.go | model_wp_users.go | model_wp_yoast_seo_links.go | +---static | | .gitignore | | index.html | | readme.md | | | \---index_files | jquery.js.download | style.css | syntax.css | \---swagger .gitignore doc.yml favicon-16x16.png favicon-32x32.png index.html oauth2-redirect.html readme.md swagger-ui-bundle.js swagger-ui-standalone-preset.js swagger-ui.css swagger-ui.js
命令参数说明
ginbo gen -h generate a RESTful APIs app with gin and gorm for gophers. For example: ginbo gen -u eric -p password -a "127.0.0.1:3306" -d "mydb" Usage: create gen [flags] Flags: -a, --address string mysql host:port (default "dev.mojotv.com:3306") -l, --appAddr string app listen Address eg:mojotv.cn, use domain will support gin-TLS (default "127.0.0.1:5555") -c, --charset string database charset (default "utf8") -d, --database string database name (default "dbname") -h, --help help for gen -o, --out string golang project package name of your output project. eg: github.com/awesome/my_project, the project will be created at $GOPATH/src/github.com/awesome/my_project (default "github. com/dejavuzhou/gin-project") -p, --password string database password (default "Password") -u, --user string database user name (default "root")
环境
-
我的开发环境
- Windows 10 专业版 64位
- go version go1.11.1 windows/amd64
- mysql 数据库 <= 5.7
依赖
go get -u github.com/gin-contrib/cors go get -u github.com/gin-contrib/static go get -u github.com/gin-gonic/autotls go get -u github.com/gin-gonic/gin go get -u github.com/sirupsen/logrus go get -u github.com/spf13/viper go get -u github.com/spf13/cobra go get -u github.com/go-redis/redis go get -u github.com/go-sql-driver/mysql go get -u github.com/jinzhu/gorm
开发计划
- [ ] 支持PostgreSQL数据库
- [ ] 支持一键生产jwt密码验证
- [ ] 支持 MongoDB 数据库
- [ ] 更具数据映射关联模型
- [ ] 分页总数做 redis 缓存
- [ ] 支持生成gRPC服务
- [ ] 更详细的gorm tag信息
- [ ] json不现实password等隐私字段
- [ ] swaggerDoc参数说明继续优化
- [ ] 生成友好的.gitignore
- [ ] 完善go doc
注意
- mysql表中没有id/ID/Id/iD字段将不会生成路由和模型
- json字段 在update/create的时候 必须使可以序列号的json字符串,否则mysql会报错
致谢
请各位大神不要吝惜提 issue
同时附上数据库表结构文件
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何实现一行命令自动生成 Flutter 插件
- Seaborn:一行代码生成酷炫狂拽的数据集可视化
- 利用 xml.dom.minidom 生成 xml,解决属性无序问题和xml声明单独一行
- 一行一行源码分析清楚AbstractQueuedSynchronizer
- 一行一行手敲webpack4配置
- HashMap源码全解析从一道面试题说起:请一行一行代码描述下hashmap put方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。