相关推荐recommended
golang命令行工具gtcli,实现了完美集成与结构化的grapi,gin-restful-api开箱即用
作者:mmseoamin日期:2024-03-04

关于gtools

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

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

集成相关
  • gin
  • viper
  • zap
  • gorm
  • 脚手架使用
    • go get -u github.com/atpuxiner/gtools/gtcli
    • go install github.com/atpuxiner/gtools/gtcli
    • gtcli grapi -p <项目名称> -m <模块名称> -d <目录(不指定则默认当前)>
      项目启动
      • 1)cd 到项目根目录
      • 2)初始化相关
        • 第三方模块
          • go get -u
          • go mod tidy
          • 代码格式化
            • 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