我正在尝试解析gin golang中的错误验证,但生成了一个空对象"{}“
这是我的第一次尝试:
resp, err := userService.UserRegistrationService(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err})
return
}正在返回:
{
"error": [
{},
{}
]
}这是我的第二次尝试:
resp, err := userService.UserRegistrationService(c)
if err != nil {
dada := fmt.Errorf("%v", err)
c.JSON(http.StatusBadRequest, dada)
return
}返回
{}如果我调试err参数,请看一下:
resp, err := userService.UserRegistrationService(c)
fmt.Println(err)
if err != nil {
dada := fmt.Errorf("%v", err)
fmt.Println(dada)
c.JSON(http.StatusBadRequest, dada)
return
}它的回报:
2020/11/10 12:41:46 stdout: Key: 'User.Email' Error:Field validation for 'Email' failed on the 'required' tag
2020/11/10 12:41:46 stdout: Key: 'User.Password' Error:Field validation for 'Password' failed on the 'required' tag你们能帮我吗,试着在任何地方都找不到,我想这样返回:
{
"MyRequestStruct.PropertyOne": {
"FieldNamespace": "MyRequestStruct.PropertyOne",
"NameNamespace": "PropertyOne",
"Field": "PropertyOne",
"Name": "PropertyOne",
"Tag": "required",
"ActualTag": "required",
"Kind": 24,
"Type": {},
"Param": "",
"Value": ""
},
"MyRequestStruct.PropertyTwo": {
"FieldNamespace": "MyRequestStruct.PropertyTwo",
"NameNamespace": "PropertyTwo",
"Field": "PropertyTwo",
"Name": "PropertyTwo",
"Tag": "required",
"ActualTag": "required",
"Kind": 24,
"Type": {},
"Param": "",
"Value": ""
}
}发布于 2020-11-10 13:52:34
在作为json响应发布时,您应该尝试使用err.Error()而不是err。
试试这个:
resp, err := userService.UserRegistrationService(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}https://stackoverflow.com/questions/64763532
复制相似问题