JSON 绑定
前后端分离接口最常见的请求体是 JSON。
Gin 可以把 JSON 自动绑定到结构体。
一、定义请求结构体
字段说明:
二、绑定 JSON 请求体
注册路由:
请求:
三、为什么传 &req
这里必须传指针。
因为 Gin 要把解析出来的数据写入 req,如果只传 req,函数拿到的是副本,无法修改原来的结构体。
这也是 Go 结构体和指针在 Web 开发里非常常见的场景。
四、ShouldBindJSON 和 BindJSON
Gin 有两类绑定方法:
业务项目里更推荐 ShouldBindJSON。
原因是你可以统一返回自己的错误格式:
五、不要直接使用数据库模型接收请求
不推荐:
然后直接:
推荐单独定义请求结构体:
请求结构体、数据库模型、响应结构体要分开,避免敏感字段误传或误返回。

