如何高效获取Go Gin框架中的参数?
摘要:GIN参数获取 query 参数1. DefaultQuery 获取不到地址栏参数,设置默认值 username:=c.DefaultQuery("username",&a
GIN参数获取
query 参数
// 1. DefaultQuery 获取不到地址栏参数,设置默认值
username:=c.DefaultQuery("username","zhangsan")
// 2. Query 获取地址栏参数
address := c.Query("address")
form 参数
// 1. DefaultPostForm ,取不到数据时返回默认值
username:=c.DefaultPostForm("username","zhangsan")
// 2. PostForm 获取 form表单中的数据
address:=c.PostForm("address")
json参数
// 1. 从c.Request.Body 请求体中获取数据
//1.1 body 是字符串数据
body,_ :=c.GetRawData()
//1.2 定义MAP或者结构体
var m map[string]interface{}
// 1.3 反序列化
_ = json.Unmarshal(body,&m)
path 参数(路由固定参数)
// 定义路由时,访问路径如下
http://xxx:8080/api/user/:id
// 获取路由上携带的参数
id:=c.Param("id")
ShouldBind参数绑定
基于请求的Content-Type 自动识别数据类型,并利用反射机制提取请求中的数据给到对应的结构体中
// 定义结构体。form/json是tag,表示从页面或接口调用时传递的参数名。
