golang,gin脚手架,完美集成与结构化,gin-restful-api模板gin-layout,开箱即用

关于gtools

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

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

集成相关
  • gin
  • viper
  • zap
  • gorm
脚手架使用
  • go get -u github.com/atpuxiner/gtools/gtcli
  • go install github.com/atpuxiner/gtools/gtcli
  • gtcli gin -p <项目名称> -m <模块名称> -d <目录(不指定则默认当前)>
项目启动
  • 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
    

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 13:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 13:32:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 13:32:03       82 阅读
  4. Python语言-面向对象

    2024-02-23 13:32:03       91 阅读

热门阅读

  1. 爬虫基本库的使用(httpx库的详细解析)

    2024-02-23 13:32:03       50 阅读
  2. CAN Linux C应用编程

    2024-02-23 13:32:03       29 阅读
  3. 2024.2.22

    2024-02-23 13:32:03       36 阅读
  4. idea打开项目白屏

    2024-02-23 13:32:03       65 阅读
  5. 【LeetCode每日一题】单调栈316去除重复字母

    2024-02-23 13:32:03       55 阅读
  6. uniApp中 将2一张图片叠加到指定位置

    2024-02-23 13:32:03       52 阅读
  7. 物联网中基于WiFi的室内温度检测系统设计

    2024-02-23 13:32:03       43 阅读
  8. EPSON机器人与PC上位机软件C#网络TCP通讯

    2024-02-23 13:32:03       50 阅读