基于 Go 语言开发的 Web 服务项目,采用模块化设计和标准化项目结构。
. ├── cmd/ # 命令行工具 ├── config.yml # 配置文件 ├── internal/ # 内部代码 │ ├── configs/ # 配置管理 │ ├── handlers/ # HTTP处理器 │ ├── middleware/# HTTP中间件 │ ├── models/ # 数据模型 │ └── router/ # 路由管理 ├── pkg/ # 公共包 │ ├── errors/ # 错误处理 │ ├── logger/ # 日志工具 │ └── response/ # 响应工具 └── main.go # 入口文件 - Go 1.16+
- MySQL 5.7+ (可选)
- Redis (可选)
# 下载依赖 go mod tidy# 复制配置文件 cp config.yml.example config.yml # 运行服务 go run main.go # 测试 curl http://localhost:8080/ping- 在
internal/handlers添加处理器 - 在
internal/router注册路由 - 在
internal/models添加数据模型(如需要)
修改 config.yml 配置:
server: port: 8080 mode: development database: host: localhost port: 3306 name: dbname user: root password: password redis: host: localhost port: 6379 password: password db: 0 log: level: # debug, info, warn, error format: json # text or json output: stdout # stdout or file path file: path: ./logs max_size: 100 # MB max_age: 7 # days max_backups: 10 # 最大备份数 - 在相应目录创建新文件
- 实现功能代码
- 添加单元测试
- 更新文档
在 internal/middleware 中添加新的中间件:
func AuthMiddleware() gin.HandlerFunc { return func(c *gin.Context) { // 中间件逻辑 } }# 构建镜像 docker build -t mux_api . # 运行容器 docker run -p 8080:8080 mux_api