前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang的gin框架,各种接收参数的方式和各种绑定的区别

golang的gin框架,各种接收参数的方式和各种绑定的区别

原创
作者头像
IT工作者
发布2022-03-12 10:48:28
2.2K0
发布2022-03-12 10:48:28
举报
文章被收录于专栏:程序技术知识程序技术知识

看gin的文档,接收从客户端发来的各种参数,有两大类方式:

1、使用接收单个参数各种方法:

代码语言:javascript
复制
c.Param()
c.Query
c.DefaultQuery
c.PostForm
c.DefaultPostForm
c.QueryMap
c.PostFormMap
c.FormFile
c.MultipartForm

2、使用各种绑定方法

代码语言:javascript
复制
c.Bind
c.BindJSON
c.BindXML
c.BindQuery
c.BindYAML
c.ShouldBind
c.ShouldBindJSON
c.ShouldBindXML
c.ShouldBindQuery
c.ShouldBindYAML
代码语言:javascript
复制
func main() {
    router := gin.Default()

    router.POST("/post", func(c *gin.Context) {

        id := c.Query("id") // 查询参数
        page := c.DefaultQuery("page", "0")
        name := c.PostForm("name") // body 里的x-www-form-urlencoded 参数
        message := c.PostForm("message")

        fmt.Printf("id: %s; page: %s; name: %s; message: %s", id, page, name, message)
    })
    router.Run(":8080")
}
//结果输出
//id: 1234; page: 1; name: manu; message: this_is_great

c.FormFile,用于处理上传文件的

c.Query,对于请求 url 查询参数用

如果参数不是放在url里的,也可以在body里,比如 body 里的x-www-form-urlencoded 参数,如下面的name=manu&message=this_is_great 对于gin,要使用 name := c.PostForm("name") api

关注下 Content-Type 这个字段,表示了body的类型

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档