一、header解析
g.GetHeader("token")
g.Request.Header.Get("token")
h := HeaderParam{}
g.ShouldBindHeader(&h) //使用结构体可以解析,map无效
二、url中的参数解析
如:http://192.168.11.11:9090?test=测试
g.DefaultQuery("test","")
g.Query("test")
g.Request.URL.Query().Get("test")
三、form-data解析
//text类型参数
formP,ok := g.GetPostForm("test")
formP := g.DefaultPostForm("test","")
formP :=g.Request.PostForm.Get("test")
//file类型
file,err := r.FormFile("file") //单个
//多个formData解析
formDatas,err := r.MultipartForm()
if err !=nil && formDatas !=nil {
files := formDatas.File["files"]
textParams := formDatas.Value["params"]
}
四、json数据解析
数据解析,同一个参数,只可调用一次,不然会EOF
1、定义结构体解析
uploadInfo :=model.UploadInfo{}
err := c.ShouldBindJSON(&uploadInfo)
2、可用map解析出来后再遍历
uploadInfo := make(map[string]interface{})
err := c.ShouldBindJSON(&uploadInfo)
网友评论