Golang GIN 接收结构体切片(前端对象数组)

  • 想接收这样的数据格式:
[
    {
        "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等这类方法获取数据,所以还是要按照规范来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Gin实战演练 1 gin的简单使用 2 RESTful API RESTful 是⽹络应⽤程序的⼀种设计⻛格和开...
    阿兵云原生阅读 458评论 1 4
  • 一、gin简介 Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 mar...
    Every_dawn阅读 2,472评论 1 4
  • Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了htt...
    雪上霜阅读 1,641评论 0 1
  • https://learnku.com/docs/gin-gonic/2018/gin-readme/3819 安...
    程序员的自我修养阅读 1,233评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,606评论 28 53