Go gin获取GET请求参数

Go gin获取GET请求参数,第1张

Go gin获取GET请求参数 一、带参数的路由:路径中直接加上参数值

e.g. http://127.0.0.1:8080/user/hallen

1.第一种情况:使用占位符: ,必须得指定这个路径

路由:engine.GET("/user/:name",Index)如:http://127.0.0.1:8080/user/hallen,这里必须指定name这个路径,不然会找不到获取方式:context.Param(“name”)

2.第二种情况:使用占位符*,可以不用匹配这个路径

路由:engine.GET("/user/*name",Index)这里可以指定name这个路径,也可以不用指定如:下面两种都可以访问 http://127.0.0.1:8080/user/hallen,http://127.0.0.1:8080/user, 获取方式:context.Param(“name”)

区别:参数前面是使用冒号还是使用通配符,冒号的比如指定路径,通配符的可以不用

代码示例:

func Index(c *gin.Context)  {
    name := c.Param("name")
    c.String(http.StatusOK, "Hello %s", name)

}

// engine.GET("/user/*name",Index)
engine.GET("/user/:name",Index)
二、带参数的路由:路径中使用参数名

1.contxt.Query

传参:http://127.0.0.1:8080/user/?name=hallen获取:contxt.Query(“name”)

2.contxt.DefaultQuery

传参:http://127.0.0.1:8080/user/?name=hallen获取:contxt.DefaultQuery(“name”,“hallen”)

区别:DefaultQuery比Query多了个默认值,如果没有获取到会使用默认值

3.contxt.QueryArray

传参:http://127.0.0.1:8080/user?name=1,2,3,4,5获取:names := contxt.QueryArray(“name”)数据结构:[1,2,3,4,5]

4.contxt.QueryMap

传参:[http://127.0.0.1:8080/user?name1]=hallen1&name[2]=hallen2获取:name_map := contxt.QueryMap(“name”)数据结构:map[1:hallen1 2:hallen2]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/990879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存