在 上一篇 Golang Gin 实战(四)| URL查询参数的获取和原理分析 文章中,因为文章篇幅问题,QueryArray和QueryMap没有介绍,这篇文章继续。
QueryArray
在实际的业务开发中,我们有些业务多选的,比如一个活动有多个人参加,一个问题有多个答案等等,对于这类业务功能来说,如果是通过查询参数提交的,它们的URL大概这样?a=b&a=c&a=d,key值都一样,但是对应的value不一样。
这类URL查询参数,就是一个数组,那么在Gin中我们如何获取它们呢?
这里举个例子,比如有一份调查问卷,问我有哪些自媒体,我选择个人博客和微信公众号
12345678
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, c.QueryArray("media"))
})
r.Run(":8080")
}
运行代码,在浏览器里访问http://localhost:8080/?media=blog&media=wechat,会看到如下信息:
["blog","wechat"]
我们的自媒体信息,已经作为一个数组被输出了,非常简单,这样我们就可以很方便的处理多选的业务。
QueryArray方法也有对应的GetQuery