Golang Go语言中 ginbo 项目自动生成的代码(儿子)

发布于 1周前 作者 caililin 来自 Go语言

Golang Go语言中 ginbo 项目自动生成的代码(儿子)

一行命令根据 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"

生成新 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同时附上数据库表结构文件


更多关于Golang Go语言中 ginbo 项目自动生成的代码(儿子)的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

4 回复

觉得还是要顶一下回家慢慢看。

更多关于Golang Go语言中 ginbo 项目自动生成的代码(儿子)的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


不考虑测试么?

看起来很强大的样子 :)

在Go语言(Golang)生态系统中,Gin是一个非常流行的web框架,用于构建高效、可扩展的Web应用程序。而“ginbo”项目可能是一个基于Gin框架的脚手架工具或者是一个特定项目模板,用于自动生成一些基础代码结构,从而加速开发流程。

当提到“ginbo项目自动生成的代码(儿子)”时,这里的“儿子”可以理解为由ginbo项目生成的一系列代码文件或模块,它们构成了项目的基础框架。这些自动生成的代码通常包括:

  1. 路由设置:定义应用的URL路径和对应的处理函数。
  2. 控制器:处理业务逻辑,调用服务层或数据访问层,返回处理结果。
  3. 服务层:封装业务逻辑,可能涉及多个数据库操作或第三方服务调用。
  4. 数据模型:定义应用的数据结构,通常与数据库表结构对应。
  5. 中间件:处理请求和响应的预处理和后处理工作,如身份验证、日志记录等。

使用ginbo这样的工具可以大大节省开发者在创建项目基础结构上的时间,让开发者更专注于业务逻辑的实现。然而,自动生成的代码往往需要根据具体业务需求进行调整和优化。因此,建议在使用ginbo或其他类似工具时,仔细阅读生成的代码,理解其结构和工作原理,以便更好地进行后续的开发工作。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!