当前位置: 首页 > news >正文

go gin框架ShouldBindJSON不能接受’0‘值

问题

var req struct {ID    uint `form:"id" json:"id" binding:"min=0"`Valid int  `form:"valid" json:"valid" binding:"required"`}// 绑定 JSON 数据if err := c.ShouldBindJSON(&req); err != nil {fmt.Printf("Error binding JSON: %v\n", err) // 打印绑定错误c.JSON(http.StatusBadRequest, gin.H{"code":    400,"message": "参数错误","data":    nil,})return}

当valid为0时就会报错:
Error binding JSON: Key: ‘Valid’ Error:Field validation for ‘Valid’ failed on the ‘required’ tag

实际上当binding标签是required的时候”0“值都不能接受
比如int的0,bool的false,字符串的空串

解决办法

第一种

不用required改用其他标签值比如min=0

第二种

改用指针

var req struct {ID    uint `form:"id" json:"id" binding:"min=0"`Valid *int  `form:"valid" json:"valid" binding:"required"`}

相关文章:

  • 无人机动力核心测评:CKESC STONE 180A-M 电调
  • 声音分离人声和配乐-从头设计数字生命第4课——仙盟创梦IDE
  • 什么是Maven
  • go 的 net 包
  • hive默认的建表格式
  • UE5 Assimp 自用
  • 颠覆传统NAS体验:耘想WinNAS让远程存储如同本地般便捷
  • OpenBMC:BmcWeb login创建session
  • 深入了解递归、堆与栈:C#中的内存管理与函数调用
  • Redis 热 key 和大 key 问题
  • MAC地址攻击和ARP攻击的原理及解决方法
  • 雨晨 27842.1000 Windows 11 金丝雀 企业版 IE Edge 适度 2合1
  • 补题【Darkness+Different Billing+Dice Game】
  • 嵌入式人工智能应用-第三章 opencv操作8 图像特征之 Haar 特征
  • 整平机:精密制造的“隐形守护者”
  • 使用PyTorch如何配置一个简单的GTP
  • Window11系统删除掉你需要TrustedInstaller提供的权限才能对此文件进行更改的文件(图文详解)
  • TensorFlow Keras“安全模式”真的安全吗?绕过 safe_mode 缓解措施,实现任意代码执行
  • Java的进阶学习
  • 理想MindVLA学习解读
  • 韩国检方重启调查金建希操纵股价案
  • 著名文学评论家、清华大学中文系教授蓝棣之逝世
  • 与包乐史驾帆航行|航海、钓鱼和写书:一个记者的再就业之路
  • 山西省朔州市政府党组成员、副市长李润军接受审查调查
  • 神二十明日发射,长二F火箭推进剂加注工作已完成
  • 瞭望:高校大门要向公众打开,不能让“一关了之”成为常态