Golang 结构体中使用 `required` 标签验证必传 JSON 参数
要确保 JSON 必传参数,可以在 Golang 的 struct 中使用 'required' 标签。下面是一个示例:
type MyStruct struct {
Field1 string 'json:"field1" required:"true"'
Field2 int 'json:"field2" required:"true"'
}
在这个示例中,'Field1' 和 'Field2' 都被标记为必传参数。你可以在处理请求时,使用 'required' 标签来验证参数是否存在。
以下是一个处理请求的示例:
func MyHandler(c *gin.Context) {
var data MyStruct
if err := c.ShouldBindJSON(&data); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
// 检查是否存在必传参数
if data.Field1 == "" {
c.JSON(http.StatusBadRequest, gin.H{"error": "Field1 is required"})
return
}
if data.Field2 == 0 {
c.JSON(http.StatusBadRequest, gin.H{"error": "Field2 is required"})
return
}
// 执行其他操作
// ...
c.JSON(http.StatusOK, gin.H{"message": "Success"})
}
在这个示例中,使用 ShouldBindJSON 方法将请求数据绑定到 MyStruct 结构体中。然后,我们检查每个必传参数是否存在,如果不存在,则返回错误响应。如果所有必传参数都存在,可以继续执行其他操作。
请注意,这只是一种验证方法,你可以根据实际需求进行修改和扩展。
原文地址: https://www.cveoy.top/t/topic/lfHK 著作权归作者所有。请勿转载和采集!