Skip to content

lengyue1084/ginapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于gin的api脚手架

0、支持指定配置文件启动
1、不破坏gin的原有特性,基本不影响原有gin的运行速度
2、wire负责管理依赖注入
3、集成常用组件gorm/zap/viper/go-redis等
4、方便集成第三放组件
5、可扩展解耦方便,只需要替换data层数据源即可(biz负责定义repo/usercase,data层负责实现repo)
6、输入输出结构体单独提到api文档方便管理,约定对应具体的service模块
说明:实际开发只需要在api目录定义输入输出结构体,router添加路由,internal目录分别实现service/biz/data层即可
(数据校验等原有gin的方法照旧使用即可)

├── api  // 定义输入/输出的结构体
│   ├── user //对应user模块
│       ├── user.go //user模块相关的结构体
│   └── order //对应order模块
│       └── order.go //user模块相关的结构体
├── cmd  // 应用入口文件
│   ├── main.go //入口文件
│   ├── wire.go //依赖注入文件
│   ├── wire_gen.go //wire生成
├── configs  // 定义配置文件
├── internal  // 应用业务代码
|       └── biz //定义repo接口,解耦data实现
|       └── conf 
|       └── data //repo的具体实现
|           └── model //实体
|           └── data.go //注册各种组件
|       └── pkg //供其它目录使用的包
|       └── service //业务入口,处理业务校验等
├── middleware  // 中间件
├── pkg  // 公共使用的包
├── pkg  // 路由定义文件
    ├── app.go //初始化gin.Engine
    ├── router.go //自定义用户路由
└── third_party //第三方类库
└── tool //公共函数目录
└── docs //说明文档目录
└── go.mod

待增加功能:错误处理、平滑启动、多服务端管理

About

gin api的脚手架

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors