使用 Gin 框架实现 REST API CRUD:定义 User 结构体与内存存储,注册 GET/POST/PUT/DELETE 路由,校验请求、处理状态码,启用日志与 Recovery 中间件提升健壮性。

用 Golang 开发 REST API 实现增删改查(CRUD),核心是选对 Web 框架、设计清晰的路由、定义好数据结构,并把业务逻辑与 HTTP 处理分离。推荐使用轻量但足够灵活的 net/http 或更易上手的 gin(本文以 gin 为例,兼顾简洁与实用性)。
确保已安装 Go(建议 1.20+),然后初始化模块并引入 gin:
先定义一个简单的用户结构体,用内存切片模拟数据库(便于演示,后续可替换为 SQL 或 Redis):
type User struct {
ID int `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
}
var users = []User{
{ID: 1, Name: "张三", Age: 25},
{ID: 2, Name: "李四", Age: 30},
}
var nextID = 3
注意:真实项目中应使用结构体标签(如 json:"name")控制序列化,避免字段名大小写导致前端接收异常。
立即学习“go语言免费学习笔记(深入)”;
在 gin.Engine 上注册标准 REST 路由,每个方法对应一种操作:
示例 POST 处理逻辑:
func createUser(c *gin.Context) {
var newUser User
if err := c.ShouldBindJSON(&newUser); err != nil {
c.JSON(400, gin.H{"error": "无效的 JSON"})
return
}
if newUser.Name == "" {
c.JSON(400, gin.H{"error": "姓名不能为空"})
return
}
newUser.ID = nextID
nextID++
users = append(users, newUser)
c.JSON(201, newUser)
}
调用 router.Run(":8080") 启动服务,默认监听本地 8080 端口。上线前建议补充:
不复杂但容易忽略:所有 ID 参数需转为整型并校验是否 > 0;更新和删除前务必检查资源是否存在,避免静默失败。
以上就是如何使用Golang开发REST API接口_实现基本增删改查操作的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号