Gin 参数校验:把 binding 错误变成可读响应
Gin 的 binding 能快速完成参数绑定和校验,但默认错误信息通常不适合直接返回给前端。工程里需要把字段名、规则和业务提示做一层翻译。
type CreateUserReq struct {
Name string `json:"name" binding:"required,min=2"`
Age int `json:"age" binding:"gte=1,lte=120"`
}我的做法是在入口层统一处理校验错误,把 validator.ValidationErrors 转成固定结构,例如 {field, message}。这样前端可以稳定展示,也方便测试。
校验只负责“格式正确”,不要负责“业务存在”。例如手机号格式可以在 binding 做,手机号是否已注册应该交给 service。
分清格式校验和业务校验,接口层会薄很多,错误响应也更一致。
版权申明
本文系作者 @blogger 原创发布在Gin 参数校验:把 binding 错误变成可读响应。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论