Skip to content

Gin+GROM 脚手架,让开发更快速专注业务开发

Notifications You must be signed in to change notification settings

mylafe/go-api-skeleton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-api-skeleton

简介

golang服务接口脚手架

安装

git clone git@github.com:mylafe/go-api-skeleton.git

目录

├── app                            // 程序具体逻辑代码
│   ├── http                        // http 请求处理逻辑
│   │   ├── controllers             // 控制器,存放 API 和视图控制器
│   │   │   ├── api                 // API 控制器,支持多版本的 API 控制器
│   │   │   │   └── v1              // v1 版本的 API 控制器
│   │   │   │       ├── users_controller.go
│   │   │   │       └── ...
│   │   └── middlewares             // 中间件
│   │       ├── auth_jwt.go
│   │       ├── guest_jwt.go
│   │       ├── limit.go
│   │       ├── logger.go
│   │       └── recovery.go
│   ├── models                      // 数据模型
│   │   ├── user                    // 单独的模型目录
│   │   │   ├── user_hooks.go       // 模型钩子文件
│   │   │   ├── user_model.go       // 模型主文件
│   │   │   └── user_util.go        // 模型辅助方法
│   │   └── ...
│   ├── policies                    // 授权策略目录
│   │   ├── category_policy.go
│   │   └── ...
│   └── requests                    // 请求验证目录(支持表单、标头、Raw JSON、URL Query)
│       ├── user_request.go
│       └── ...
├── bootstrap                       // 程序模块初始化目录
│   ├── app.go  
│   ├── cache.go
│   ├── database.go
│   ├── logger.go
│   ├── redis.go
│   └── route.go
├── config                          // 配置信息目录
│   ├── app.go
│   ├── captcha.go
│   ├── config.go
│   ├── database.go
│   ├── log.go
├── database                        // 数据库相关目录
│   └─── database.db                // sqlite 数据文件(加入到 .gitignore 中)
│   
├── pkg                             // 内置辅助包
│   ├── app
│   ├── auth
│   ├── cache
│   ├── captcha
│   ├── config
│   └── ...
├── public                          // 静态文件存放目录
│   ├── css
│   ├── js
│   └── uploads                     // 用户上传文件目录
│       └── avatars                 // 用户上传头像目录
├── routes                          // 路由
│   ├── api.go
│   └── web.go
├── storage                         // 内部存储目录
│   ├── app
│   └── logs                        // 日志存储目录
│       └── logs.log
├── .env.example                    // 环境变量示例文件
├── .gitignore                      // git 配置文件
├── .air.toml                       // air 配置文件
├── go.mod                          // Go Module 依赖配置文件
├── go.sum                          // Go Module 模块版本锁定文件
├── main.go                         // Gohub 程序主入口
├── Makefile                        // 自动化命令文件
├── readme.md                       // 项目 readme

三方库

github.com/gin-gonic/gin v1.8.2
github.com/spf13/cast v1.5.0
github.com/spf13/viper v1.14.0
github.com/thedevsaddam/govalidator v1.9.10
go.uber.org/zap v1.24.0
gopkg.in/natefinch/lumberjack.v2 v2.0.0
gorm.io/driver/mysql v1.4.5
gorm.io/driver/sqlite v1.4.4
gorm.io/gorm v1.24.3

About

Gin+GROM 脚手架,让开发更快速专注业务开发

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published