在 Gin 框架中,无效字符 'P' 寻找值的开头
In Gin framework, invalid character 'P' looking for beginning of value
当我使用 Gin 时,c.shouldBindJson 无法正常工作。我在邮递员中测试我的 REST API 并得到错误响应
Request
{
Username: "asdasd",
Password: "asdasdasd",
Email: "123@123.com"
}
Response:
Postman gives me the response
{
"code": 400,
"error": "invalid character 'U' looking for beginning of value",
}
结构
这是数据结构
type WebRegisterData struct {
Username string `json:"username"`
Password string `json:"password"`
Email string `json:"email"`
}
函数
这里是相关函数
func (h *Handler) WebRegister(c *gin.Context) {
if h.db == nil {
c.JSON(http.StatusInternalServerError, gin.H{
"code": 500,
"error": nil,
})
c.Abort()
return
}
var webRegisterData request.WebRegisterData
err := c.ShouldBindJSON(&webRegisterData)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"code": 400,
"error": err.Error(),
})
c.Abort()
return
}
...
}
您的请求的 JSON 格式无效。
您的请求应如下所示:
{
"username": "asdasd",
"password": "asdasdasd",
"email": "123@123.com"
}
当我使用 Gin 时,c.shouldBindJson 无法正常工作。我在邮递员中测试我的 REST API 并得到错误响应
Request
{
Username: "asdasd",
Password: "asdasdasd",
Email: "123@123.com"
}
Response: Postman gives me the response
{
"code": 400,
"error": "invalid character 'U' looking for beginning of value",
}
结构
这是数据结构
type WebRegisterData struct {
Username string `json:"username"`
Password string `json:"password"`
Email string `json:"email"`
}
函数
这里是相关函数
func (h *Handler) WebRegister(c *gin.Context) {
if h.db == nil {
c.JSON(http.StatusInternalServerError, gin.H{
"code": 500,
"error": nil,
})
c.Abort()
return
}
var webRegisterData request.WebRegisterData
err := c.ShouldBindJSON(&webRegisterData)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"code": 400,
"error": err.Error(),
})
c.Abort()
return
}
...
}
您的请求的 JSON 格式无效。
您的请求应如下所示:
{
"username": "asdasd",
"password": "asdasdasd",
"email": "123@123.com"
}