ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Mac 环境从零搭建 Go‑Sponge,手把手创建后端 API 完整教程

Mac 环境从零搭建 Go‑Sponge,手把手创建后端 API 完整教程 安装 spongespongego‑sponge是一款开箱即用的 Go 后端开发脚手架可以基于 MySQL 数据表一键生成 Handler、Service、Dao、路由、Swagger 接口文档省去大量重复 CRUD 代码编写。本文适配 macOSM 系列芯片完整记录环境准备、工具安装、项目创建、数据库配置、接口调试全流程同时整理 Mac 系统独有的踩坑解决方案。一、前期环境准备1. 安装 Go 语言环境前往 Go 官网下载对应 arm64 (Mac‑M 芯片) 的安装包安装完成后打开终端校验版本go version推荐 Go1.22 及以上版本本文使用 go1.25配置国内镜像源加速依赖下载go env -w GOPROXYhttps://goproxy.cn,direct2. 安装 MySQL 数据库Mac 推荐两种方式安装 MySQL使用 Homebrew 安装brew install mysql安装图形化客户端 Navicat‑Premium重要记住 MySQL 账号、密码提前手动创建好业务数据库sponge 不会自动新建数据库3.可选安装 Redissponge 默认初始化 Redis本机没有 Redis 后续可以注释初始化代码跳过。二、安装 sponge 脚手架工具1. 安装 sponge终端执行安装命令go install github.com/go-dev-frame/sponge/cmd/spongelatest2. 验证是否安装成功sponge -v输出版本号即代表安装完成。3. 安装 swag‑cli用于生成 Swagger 接口文档Mac 环境版本必须锁定高版本会出现结构体字段报错go install github.com/swaggo/swag/cmd/swagv1.8.10三、使用 sponge 网页可视化面板创建 Web 项目终端启动 sponge UI 面板sponge run浏览器打开工具后台地址http://localhost:24630选择创建 web 服务 → 基于 SQL 生成填入你的 MySQL 连接信息连接数据库勾选需要生成 CRUD 代码的数据表配置项目模块名、服务名称一键生成项目压缩包并下载四、启动项目Mac 专属避坑重点1. 解压下载好的项目压缩包# 进入你的项目根目录 cd ~/Downloads/你的项目文件夹2. 修改数据库配置打开配置文件路径configs/test.yaml修改 MySQL 连接信息mysql: host: 127.0.0.1 port: 3306 user: root password: 你的mysql密码 db-name: 你手动创建的数据库名坑点 1Mac 自带 BSD‑awkLinux 的 Makefile 语法无法兼容全程禁止使用 make 命令放弃make run、make docs3. 拉取全部项目依赖go mod tidy4. 生成 Swagger 接口文档sponge 的入口文件不在项目根目录需要手动指定 main 文件路径swag init -g cmd/test/main.go根目录出现docs文件夹代表文档生成成功根目录无 go 文件的警告可以直接忽略。5. 处理 Redis 连接报错高频问题本机未安装 Redis 会直接导致服务启动之后立刻退出。 解决方案 打开项目初始化文件cmd/test/initial/initApp.go注释 Redis 的初始化代码即可跳过 Redis 连接校验。6. 启动后端服务make run终端卡住、打印 gin 路由列表代表项目启动成功监听 8080 端口。五、访问路由与 Swagger 接口文档1. 查看所有注册成功的路由启动日志会打印全部路由示例[GIN-debug] GET /swagger/*any [GIN-debug] POST /api/v1/test/ [GIN-debug] GET /api/v1/test/:id2. 打开可视化接口文档Mac 最常见坑不要带上/apis前缀sponge 生成路由为/swagger浏览器访问http://localhost:8080/swagger/index.html在这里可以直接在线调试所有增删改查接口。3. 接口基础调用地址基础域名http://localhost:8080CRUD 接口统一前缀/api/v1/数据表名接口示例# 根据id查询数据 GET http://localhost:8080/api/v1/test/1 # 新增数据post请求body传入json参数 POST http://localhost:8080/api/v1/test4. 系统自带工具接口# 健康检查 http://localhost:8080/health # 连通测试 http://localhost:8080/ping六、Mac 环境常见问题总结go run 执行之后立刻退回终端绝大多数是 MySQL 账号密码错误、数据库没创建、Redis 连接失败查看初始化代码日志定位报错。Swagger 页面一直 404 查看启动打印的路由地址路由为/swagger不是/apis/swagger。make 命令一堆 awk 语法报错 macOS awk 和 Linux 环境不一样放弃 Makefile手动执行 swag、go‑run。LeftDelim、RightDelim 结构体报错 swag 版本过高安装 v1.8.10 稳定版本即可。GOSUMDBoff 警告 只是模块校验关闭提示不影响项目运行可以忽略。七、后续开发拓展新增数据表 CRUD打开 sponge 网页工具基于数据表生成 handler/service/dao 代码复制进项目在 routers.go 注册路由自定义接口在internal/handler编写业务代码路由文件注册 gin 路由即可分层结构说明handler接收 http 请求、参数校验service编写业务逻辑dao底层数据库操作routers统一管理所有接口路由
返回列表