gpt4 book ai didi

go - 在 JSON Binding 中处理省略值 (int) 时生成错误

转载 作者:行者123 更新时间:2023-12-01 22:03:51 26 4
gpt4 key购买 nike

使用 gin-gonic,我想确定何时从传入的 JSON 请求中省略整数值,即使零是可能的值。换句话说,零是一个有效值,但我们不能假设一个默认值。用指针构建结构似乎相反,因为没有值不存在的有效对象。在编码过程中,我想知道是否未填充任何字段。
我正在使用 OpenAPI 来定义带有“必填”字段的接口(interface),并且我希望错误响应与 API 定义相匹配。我正在使用代码生成器来创建正在填充的 Web 模型。我想避免将 JSON 编码到 map 中,验证 map ,然后填充模型。
例如:

type mouth struct {
teeth int
fillings int
}
func ProcessTi0(c *gin.Context) {
var b mouth
err = c.Bind(&b)
if err != nil {
c.JSON(400, gin.H{
"err": err,
})
}
....
}
当前请求 {}已验证。
如果未提供,默认绑定(bind)行为是在字段中静默写入零,但我想生成一个错误。

最佳答案

似乎您的代码生成器需要支持为您的模型生成自定义标签。那你可以引用https://github.com/gin-gonic/gin#model-binding-and-validation ,这表明有一个“绑定(bind)”标签,您可以使用它来声明哪个字段是必需的。

关于go - 在 JSON Binding 中处理省略值 (int) 时生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63213372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com