为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Gin 中发布的 JSON 中获取特定参数?

如何从 Gin 中发布的 JSON 中获取特定参数?

Go
守着一只汪 2023-06-26 17:37:17
我需要从发布的 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将请求主体存储到上下文中,并在再次调用时重用。


查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信