想接收前端这样的数据格式:【json数组】
[ { "password": "casso", "mobile": "13456789999", "nick_name": "go", "icon": "地址" }, { "password": "casso", "mobile": "13456789999", "nick_name": "go", "icon": "地址" } ]
GO代码
//TestUser 创建测试用户 type TestUser struct { PassWord string `json:"password" binding:"required"` // 密码 Mobile string `json:"mobile" binding:"required"` // 电话 NickName string `json:"nick_name"` // 昵称 Icon string `json:"icon"` // 头像 } // CreateTeast 创建测试用户 func CreateTeast(c *gin.Context){ var postData []TestUser if err := c.ShouldBind(&postData); err != nil { response.ReturnJSON(c, http.StatusOK, statuscode.InvalidParam.Code,statuscode.InvalidParam.Msg, nil) return } // 走到这里,postData 里面就有数据了 }
稍微复杂的数据结构
type Cards struct { No string `json:"no"` Local string `json:"local"` } type Per struct { Name string `json:"name"` Card []Cards `json:"card"` Age int `json:"age"` } // CreateTeast 创建测试用户 func CreateTeast(c *gin.Context) { var postData Per if err := c.ShouldBind(&postData); err != nil { response.ReturnJSON(c, http.StatusOK, statuscode.InvalidParam.Code, statuscode.InvalidParam.Msg, nil) return } // 走到这里,postData 里面就有数据了 }
总结:
- 最重要的一点是:
GIN
框架,GET
方法并不能使用ShouldBind
等这类方法获取数据,所以还是要按照规范来。