littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Go语言的企业级Web开发脚手架

项目简介

本项目是一个基于Go语言的企业级Web开发脚手架,采用Gin框架构建。代码简洁易读,能助力开发者快速开展高效的Web开发工作。实现了请求链路日志打印、多语言错误信息提示、多配置环境支持等功能,同时封装了常用工具方法,还支持Swagger文档生成。

项目的主要特性和功能

  1. 请求链路日志打印:包含mysql、redis和request的日志,便于请求追踪与问题排查。
  2. 多语言错误提示:支持多语言错误信息提示及自定义错误提示,满足不同用户群体需求。
  3. 多配置环境:支持多配置环境,方便在不同环境下进行开发与部署。
  4. 常用方法封装:封装了log、redis、mysql、http.client常用方法,提升开发效率。
  5. Swagger文档生成:支持自动生成Swagger接口文档,利于前后端对接和接口管理。

安装使用步骤

安装软件依赖

bash cd gin_scaffold go mod tidy

配置文件

确保正确配置了conf/mysql_map.tomlconf/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文档

  1. 下载对应操作系统的swag执行文件到$GOPATH/bin下面。
  2. 设置接口文档参考controller/demo.go的Bind方法的注释设置。
  3. 生成接口文档:swag init
  4. 启动服务器:go run main.go,浏览地址:http://127.0.0.1:8880/swagger/index.html

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】