golang-gin框架参数解析

一、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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容