当前位置: 首页 > news >正文

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

关于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
    
http://www.lryc.cn/news/304415.html

相关文章:

  • Qt 事件
  • JAVA高并发——并行算法
  • HTTP 与 HTTPS-HTTP 解决了 HTTP 哪些问题?
  • S32 Design Studio PE工具配置TMR
  • Typescript中常用的数据类型
  • 【推荐】渗透测试面试(问题+答案)
  • 基于java+springboot+vue实现的美食信息推荐系统(文末源码+Lw)23-170
  • HGAME week2 web
  • SQL注入:网鼎杯2018-unfinish
  • C 标准库 - <limits.h>
  • 《游戏引擎架构》--学习3
  • c语言中的大小写字母转换怎么转?
  • java面试题之SpringMVC篇
  • 基于FPGA的I2C接口控制器(包含单字节和多字节读写)
  • 使用sql判断两段时间是否重叠
  • C++模板从入门到入土
  • Kotlin 中注解 @JvmOverloads 的作用
  • EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比
  • MongoDB文档插入
  • 涵盖5大领域的机器学习工具介绍
  • git修改及合并commit提交
  • 大型语言模型的语义搜索(一):关键词搜索
  • 无需统考可获双证的中国社科院-美国杜兰大学金融硕士
  • 编程笔记 Golang基础 024 映射
  • 基于springboot+vue的中小型医院网站(前后端分离)
  • Spring boot 实现监听 Redis key 失效事件
  • 振动样品磁强计
  • C语言标准库介绍:<string.h>
  • 大语言模型LangChain本地知识库:向量数据库与文件处理技术的深度整合
  • 展厅设计中都包含哪些分区与展示内容