验证器结构体的form标签中设置default即可,仅测试ShouldBindQuery有效读取,其他绑定方法未知
验证器结构体
代码语言:javascript复制type UserListValidator struct {
Type string `form:"type,default=RECOMMEND" binding:"omitempty,oneof=NEAR RECOMMEND" label:"列表类型"` //列表类型 NEAR:附近(默认) RECOMMEND:推荐
}
控制器方法
代码语言:javascript复制func (u *UserController) List(ctx *gin.Context) {
validator := validators.UserListValidator{}
if err := ctx.ShouldBindQuery(&validator); err != nil {
u.JSONResponseError(ctx, err)
return
}
//validator.Type
参考:
https://github.com/gin-gonic/gin/issues/1052#issuecomment-1609678741
https://www.vksir.zone/posts/go_struct_default/