栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Go gin获取GET请求参数

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Go gin获取GET请求参数

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

  1. 传参:http://127.0.0.1:8080/user?name=1,2,3,4,5
  2. 获取:names := contxt.QueryArray(“name”)
  3. 数据结构:[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]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/904416.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号