基于golang开源框架 gin封装的api框架

Go-Gin-Api

基于 Gin 进行模块化设计的 API 框架,封装了常用功能,操作简单,致力于进行快速的业务研发。比如,jwt 签名验证、zap 日志收集、panic 异常捕获、swagger 文档生成、viper 配置文件解析、gorm 数据库组件、v2.0支持后台管理、casbin权限管理可支持按钮级权限,使用Light Year Admin 模板、支持命令工具生成Model、初始化数据库 等等

项目文档

在线文档 在线文章

1 项目简介 1.1 项目介绍

个人爱好,业务编码,喜欢的给个star

2 使用说明

- golang版本 >= v1.16 下载 使用git克隆本项目

git clone https://github.com/18211167516/Go-Gin-Api.git

cd到cmd目录,编译 然后执行cmd.exe initdb 当然了你要先创建数据库

登录后台

账号:admin 密码:Admin123 贡献指南 issue 仅用于提交 Bug 或 Feature 以及设计相关的内容,其它内容可能会被直接关闭。 pull Request 请先 fork 一份到自己的项目下,不要直接在仓库下建分支。 commit 信息要以[文件名]: 描述信息 的形式填写,例如 README.md: fix xxx bug。 确保 PR 是提交到 dev 分支,而不是 master 分支。 如果是修复 bug,请在 PR 中给出描述信息。 2.1 swagger自动化API文档 2.1.1 安装 swagger

# 启用 Go Modules 功能 go env -w GO111MODULE=on # 配置 GOPROXY 环境变量 go env -w GOPROXY=https://goproxy.io,direct # 使用如下命令下载swag go get -u github.com/swaggo/swag/cmd/swag 2.1.2 生成API文档

swag init

执行上面的命令后,server目录下会出现docs文件夹,登录http://localhost:8080/swagger/index.html,即可查看swagger文档

2.2 热编译

go get github.com/pilu/fresh 进入项目执行 fresh 配置文件 是runner.conf 2.3 工具 2.3.1 mysql转model

cd cmd go build . ./cmd.exe make:model 详细命令 ./cmd.exe make:model -h 2.3.2 初始化数据

生成基础表和数据

cd cmd go build . ./cmd.exe initdb 2.3.3 make:mysql

根据model生成数据表

./cmd.exe make:model -t=Test 2.3.4 make:command

生成command命令

生成make-service命令:同时会将-转成: ./cmd.exe make:command -n=make-service 2.3.5 make:service

生成service

根据app/models/test Test 生成默认文件 TestService.go ./cmd.exe make:service -m=test/Test 生成自定义文件 testSerive.go ./cmd.exe make:service -m=test/Test -f=testService 生成到自定义目录 ./cmd.exe make:service -m=test/Test -p=test

会把-转成: ./cmd.exe make:command -n=make-service 3 技术选型 用Gin快速搭建基础restful风格API,Gin是一个go语言编写的Web框架 数据校验 go-playground gin框架内置,已支持错误信息转中文 数据库:采用MySql(5.6.44)版本,使用gorm实现对数据库的基本操作。 API文档:使用Swagger构建自动化文档。 热重启HotStart,我自己写的一个 配置文件 使用viper解析 日志:使用logrus实现日志记录。 权限:使用casbin实现按钮级权限。 命令行工具:自建命令行支持mysqlModel、生成初始化数据。 4. 项目架构 4.1 目录结构

├─app (项目核心目录) | ├─controller (控制器) | ├─middleware (中间件) | ├─models (数据结构层) | ├─request (数据请求层,定义特殊请求结构体以及数据校验) | ├─request (数据展示层定义结构体) | ├─services (服务层) ├─config (配置包) ├─cron (定时脚本) ├─core (內核) ├─docs (swagger文档目录) ├─global (全局变量) ├─initialize (初始化) ├─log (日志文件) ├─routes (路由) ├─static (静态文件包括config目录) ├─templates (模板) ├─tests (测试) └─tool (工具) 4.2 组件支持 支持Swagger接口文档生成 支持jwt鉴权 支持zap 日志 支持viper 配置文件解析 支持go1.6.0 go:embed特性,打包包含静态文件 支持gorm 数据库组件、支持读写分离,数据库主从 支持web界面 使用 Light Year Admin 模板 支持多角色的RBAC权限控制(支持到按钮级),使用casbin cmd目录下支持生成model、支持数据库初始化 支持热编译fresh 联系作者

项目图片

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。