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]

 

posted @ 2025-01-31 13:04  刘宏缔的架构森林  阅读(50)  评论(0)    收藏  举报