一:提取参数
1、从路由中提取参数(c.Param("key"))
r.GET("/user/:id", func(c *gin.Context) {
id := c.Param("id")
c.String(http.StatusOK, "id=%s", id)
})
2、从url中提取参数 - c.Query("key")
r.GET("/user", func(c *gin.Context) {
name := c.Query("name")
age := c.Query("age")
c.String(http.StatusOK, "name=%s, age=%s", name, age)
})
3、从post提交中提取参数 - c.PostParam("key")
需要注意的是,在使用 c.PostForm() 和 c.DefaultPostForm() 方法获取客户端 POST 请求参数时,需要在处理请求之前调用 c.Request.ParseForm() 方法,以便解析表单参数。例如:
r.POST("/user", func(c *gin.Context) {
c.Request.ParseForm()//特别注意
name := c.PostForm("name")
age := c.PostForm("age")
c.String(http.StatusOK, "name=%s, age=%s", name, age)
})
4、用ShouldBindXX将请求参数(body)映射到结构上
c.SouldBind
c.SouldBindJson
c.SouldBindXml
c.SouldBindForm
。。。。。。
5、其他方法
除了上述方法外,Gin 框架还提供了一些其他方法来处理客户端提交的参数,例如:
c.GetHeader():获取客户端提交的请求头信息。
c.GetRawData():获取客户端提交的请求体信息(原始数据)。
c.Request.FormValue():获取客户端提交的表单参数值。
c.Request.PostFormValue():获取客户端提交的 POST 请求参数值。