项目简介
go-gin-api
是一个基于 Gin 进行模块化设计的 API 框架。它封装了常用功能,使用简单,可实现快速业务研发。该框架增加了更多限制,能规范项目组开发成员的编码,避免混乱无序和随意的编码方式。不过,此项目主要供参考学习,线上使用需谨慎。
项目的主要特性和功能
- 限流与异常处理:支持
rate
接口限流,panic
异常时邮件通知。 - 跨域与指标记录:支持
cors
接口跨域,Prometheus
指标记录。 - 文档与查询语言:支持
Swagger
接口文档生成,GraphQL
查询语言。 - 追踪与性能剖析:支持项目内部链路追踪和
pprof
性能剖析。 - 错误码与日志:支持
errno
统一定义错误码,zap
日志收集。 - 配置与数据库:支持
viper
配置文件解析,gorm
数据库组件和go-redis
组件。 - 规范与代码生成:支持 RESTful API 返回值规范,具备代码生成器。
- 定时任务与实时通讯:支持
cron
定时任务,可在后台界面配置;支持websocket
实时通讯,有后台界面演示。 - Web 界面:使用
Light Year Admin
模板提供 Web 界面。
安装使用步骤
MySQL 初始化
mysql
create database go_gin_api;
create user 'root'@'127.0.0.1' identified by '123456';
grant create,select,insert,update,delete on go_gin_api.* to 'root'@'127.0.0.1';
生成 graphql 代码
shell
go mod tidy
错误处理
shell
vi gqlgen.yml
修改 gqlgen.yml
文件如下:
```text
...
autobind:
...
然后重新运行:
go
```
文档参考
- 中文文档:go-gin-api - 语雀
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】