项目简介
本项目是一个基于Go语言的企业级Web开发脚手架,采用Gin框架构建。代码简洁易读,能助力开发者快速开展高效的Web开发工作。实现了请求链路日志打印、多语言错误信息提示、多配置环境支持等功能,同时封装了常用工具方法,还支持Swagger文档生成。
项目的主要特性和功能
- 请求链路日志打印:包含mysql、redis和request的日志,便于请求追踪与问题排查。
- 多语言错误提示:支持多语言错误信息提示及自定义错误提示,满足不同用户群体需求。
- 多配置环境:支持多配置环境,方便在不同环境下进行开发与部署。
- 常用方法封装:封装了log、redis、mysql、http.client常用方法,提升开发效率。
- Swagger文档生成:支持自动生成Swagger接口文档,利于前后端对接和接口管理。
安装使用步骤
安装软件依赖
bash
cd gin_scaffold
go mod tidy
配置文件
确保正确配置了conf/mysql_map.toml
、conf/redis_map.toml
。
运行脚本
bash
go run main.go
测试mysql与请求链路
创建测试表
sql
CREATE TABLE `area` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`area_name` varchar(255) NOT NULL,
`city_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`update_at` datetime NOT NULL,
`create_at` datetime NOT NULL,
`delete_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='area';
INSERT INTO `area` (`id`, `area_name`, `city_id`, `user_id`, `update_at`, `create_at`, `delete_at`) VALUES (NULL, 'area_name', '1', '2', '2019-06-15 00:00:00', '2019-06-15 00:00:00', '2019-06-15 00:00:00');
发送请求
bash
curl 'http://127.0.0.1:8880/demo/dao?id=1'
查看链路日志
bash
tail -f gin_scaffold.inf.log
测试参数绑定与多语言验证
bash
curl 'http://127.0.0.1:8880/demo/bind?name=name&locale=zh'
curl 'http://127.0.0.1:8880/demo/bind?name=name&locale=en'
生成Swagger文档
- 下载对应操作系统的
swag
执行文件到$GOPATH/bin
下面。 - 设置接口文档参考
controller/demo.go
的Bind方法的注释设置。 - 生成接口文档:
swag init
。 - 启动服务器:
go run main.go
,浏览地址:http://127.0.0.1:8880/swagger/index.html
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】