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

关于gtools

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

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

集成相关
  • gin
  • viper
  • zap
  • gorm
  • ...
脚手架使用
项目启动
  • 1)cd 到项目根目录
  • 2)初始化相关
    • 第三方模块
      • go get -u
      • go mod tidy
    • swagger
      • swag init
  • 3)编译启动
    • win:
      • go build -o gin-layout.exe main.go
      • ./gin-layout.exe runserver
    • linux:
      • go build -o gin-layout main.go
      • ./gin-layout runserver
项目结构
  • ABD:ABD模式

    • A api
    • B business
    • D datatype
  • 调用过程:main.go(initializer) - router(middleware) - api - business - (datatype)

  • 项目结构详情(命名经过多次修改敲定,简洁易懂,ABD目录贴合避免杂乱无章)

    复制代码
    └── gin-layout
        ├── app                         (应用)
        │   ├── api                     (api)
        │   │   └── v1                    - (v1版本)
        │   ├── business                (业务)
        │   ├── datatype                (数据类型)
        │   │   ├── entity                - (实体)
        │   │   ├── model                 - (模型)
        │   ├── initializer             (初始化)
        │   │   ├── conf                  - (配置)
        │   │   ├── db                    - (数据库)
        │   │   ├── logger                - (日志)
        │   │   └── redis                 - (redis)
        │   ├── middleware              (中间件)
        │   ├── router                  (路由)
        │   └── utils                   (公共)
        ├── cmd                         (命令目录)
        ├── config                      (配置目录)
        ├── deploy                      (部署目录)
        ├── docs                        (文档目录)
        ├── log                         (日志目录)
        ├── .gitignore
        ├── go.mod
        ├── LICENSE
        ├── main.go
        └── README.md
相关推荐
牛奔21 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
不老刘1 天前
LiveKit 本地部署全流程指南(含 HTTPS/WSS)
golang·实时音视频·livekit
Tony Bai1 天前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
念何架构之路1 天前
Go进阶之panic
开发语言·后端·golang
先跑起来再说1 天前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
Tony Bai2 天前
“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?
开发语言·后端·golang
灰子学技术2 天前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
源代码•宸2 天前
大厂技术岗面试之谈薪资
经验分享·后端·面试·职场和发展·golang·大厂·职级水平的薪资
有代理ip4 天前
Python 与 Golang 爬虫的隐藏优势
爬虫·python·golang
天远云服4 天前
天远车辆过户查询API微服务实战:用Go语言构建高性能车况溯源系统
大数据·微服务·架构·golang