gin: 得到参数
一,得到get参数
1,代码:
//得到列表
func (ic *ImageController) List(c *gin.Context) {
// 不带缺省值
a := c.Query("a")
// 带缺省值
d := c.DefaultQuery("d", "dd")
fmt.Println("a:",a)
fmt.Println("d:",d)
// 判断参数是否存在
e, ok := c.GetQuery("e")
if ok {
fmt.Println("变量e存在:",e)
} else {
fmt.Println("变量e不存在:",e)
}
// 得到全部参数:
params := c.Request.URL.Query()
// 遍历并打印所有参数及其值
for key, values := range params {
for _, value := range values {
fmt.Println("key:",key)
fmt.Println("value:",value)
}
}
//返回
c.JSON(http.StatusOK, gin.H{
"message": "image list",
})
}
2,运行效果:
访问:
http://192.168.219.3:8080/image/list?a=1&bc=2&c=aaa
结果:
a: 1
d: dd
变量e不存在:
key: a
value: 1
key: bc
value: 2
key: c
value: aaa
二,得到post参数
代码:
//添加一条
func (ic *ImageController) Add(c *gin.Context) {
//不带缺省值
a := c.PostForm("a")
//带缺省值
d := c.DefaultPostForm("d","dd")
fmt.Println("a:",a)
fmt.Println("d:",d)
// 判断参数是否存在
e, ok := c.GetPostForm("e")
if ok {
fmt.Println("变量e存在:",e)
} else {
fmt.Println("变量e不存在:",e)
}
//得到所有post参数
c.Request.ParseMultipartForm(32 << 20)
for k, v := range c.Request.PostForm {
fmt.Println("key:",k)
fmt.Println("value:",v)
}
//返回
c.JSON(http.StatusOK, gin.H{
"message": "image detail",
})
}
运行结果:
13:3:08 app | a: ddd
13:3:08 app | d: dd
13:3:08 app | 变量e不存在:
13:3:08 app | key: b
13:3:08 app | value: [111]
13:3:08 app | key: a
13:3:08 app | value: [ddd]
浙公网安备 33010602011771号