我需要从发布的 json 中获取一个参数。我不想只为此创建结构。这是我尝试过的type NewTask struct { Price uint64 `json:"price"`}func (pc TaskController) Create(c *gin.Context) { var service Service if err := c.BindJSON(&service); err != nil { log.Println(err) // this works } var u NewTask if err := c.BindJSON(&u); err != nil { log.Println(err) // this return EOF error } fmt.Println(u.Price)}请求的Json数据还有很多其他字段,包括价格{ ...other fields price: 30}但这不起作用。我认为这是因为我绑定了两次,我怎样才能成功绑定多个?
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
尝试使用ShouldBindJSON
. 正在读取正文,因此如果上下文正文被多次读取,BindJSON
我们就会遇到这种情况。EOF
ShouldBindJSON
将请求主体存储到上下文中,并在再次调用时重用。
- 1 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消