您现在的位置是:首页 > 技术教程 正文

golang命令行工具gtcli,实现了完美集成与结构化的grapi,gin-restful-api开箱即用

admin 阅读: 2024-03-18
后台-插件-广告管理-内容页头部广告(手机)

关于gtools

golang非常奈斯,gin作为web框架也非常奈斯,但我们在开发过程中,前期搭建会花费大量的时间,且还不尽人意。

为此我集成了gin-restful-api的模板grapi,还有脚手架一键生成项目。

集成相关
  • gin
  • viper
  • zap
  • gorm
脚手架使用
  • 1)mod及proxy设置(若已执行或不需要请忽略)
    • go env -w GO111MODULE=on
    • go env -w GOPROXY=https://goproxy.io,direct
  • 2)下载安装
    • go install github.com/atpuxiner/gtools/gtcli@latest
  • 3)创建项目
    • gtcli grapi new -p <项目名称> -m <模块名称> -d <目录(不指定则默认.)>
  • 4)添加api
    • cd到上面创建的项目根目录
    • gtcli grapi add -a -v <版本号(不指定则默认v1)>
项目运行
  • 1)cd到项目根目录
  • 2)初始化相关
    • 第三方模块:
      • go get -u
      • go mod tidy
      • swag cmd:
        • go install github.com/swaggo/swag/cmd/swag@latest
    • 代码格式化:
      • go fmt ./...
    • swagger:
      • swag init
  • 3)编译运行
    • win:
      • go build -o grapi.exe main.go
      • ./grapi.exe runserver
    • linux:
      • go build -o grapi main.go
      • ./grapi runserver
项目结构
  • ABD: ABD模式
    • A api
    • B business
    • D datatype
  • 调用过程: main.go(initializer) - router(middleware) - api - business - (datatype)
  • 结构如下: (命名经过多次修改敲定,简洁易懂,ABD目录贴合避免杂乱无章)└── grapi ├── app (应用) │ ├── api ├── (api) │ │ └── v1 │ └── (v1) │ ├── business ├── (业务) │ ├── datatype ├── (数据类型) │ │ ├── entity │ ├── (实体) │ │ └── model │ └── (模型) │ ├── initializer ├── (初始化) │ │ ├── conf │ ├── (配置) │ │ ├── db │ ├── (数据库) │ │ ├── logger │ ├── (日志) │ │ └── redis │ └── (redis) │ ├── middleware ├── (中间件) │ ├── router ├── (路由) │ └── utils └── (utils) ├── cmd (命令目录) ├── config (配置目录) ├── deploy (部署目录) ├── docs (文档目录) ├── log (日志目录) ├── .gitignore ├── go.mod ├── LICENSE ├── main.go └── README.md
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索