当前位置: 首页 > 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学习解读
  • 外交部发言人就澳大利亚联邦大选结果答记者问
  • 在“蟑螂屋”里叠衣服,我看见人生百态
  • 从“土”到“潮”,唢呐何以“圈粉”年轻人
  • 燕子矶:物流网络中的闪亮节点|劳动者的书信②
  • 原国家有色金属工业局副局长黄春萼逝世,享年86岁
  • 马上评丨准入壁垒越少,市场活力越足