[英]Why golang go-gin error always returning empty object
我試圖在 gin golang 中解析錯誤驗證,但生成一個空的 object“{}”
這是我的第一次嘗試:
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": ""
}
}
在發布為json
響應時,您應該嘗試err.Error()
而不是err
。
嘗試這個 :
resp, err := userService.UserRegistrationService(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
如何在沒有空返回的情況下使用它?
resp, err := userService.UserRegistrationService(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err.Error()
})
return
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.