看gin的文档,接收从客户端发来的各种参数,有两大类方式:
1、使用接收单个参数各种方法:
c.Param()
c.Query
c.DefaultQuery
c.PostForm
c.DefaultPostForm
c.QueryMap
c.PostFormMap
c.FormFile
c.MultipartForm
2、使用各种绑定方法
c.Bind
c.BindJSON
c.BindXML
c.BindQuery
c.BindYAML
c.ShouldBind
c.ShouldBindJSON
c.ShouldBindXML
c.ShouldBindQuery
c.ShouldBindYAML
问题:
绑定方式比上面一类方式有什么优势?为什么要两种并存,如果绑定方便,都用绑定不就行了吗?请大佬指导一下。
其实就是http协议的东西 (多看看http协议)
比如 对于请求 url 查询参数用 c.Query
如下面官方的例子中
?id=1234&page=1
这个,就是 查询参数(query params)你会看到这个参数就放在url里的
如果参数不是放在url里的,也可以在body里,比如 body 里的
x-www-form-urlencoded
参数,如下面的name=manu&message=this_is_great
对于gin,要使用
name := c.PostForm("name")
api关注下
Content-Type
这个字段,表示了body的类型,更多看看这篇文章https://imququ.com/post/four-...
还有像
c.FormFile
,用于处理上传文件的请求示例
代码示例
结果输出
这些就是框架提供的抽象了,让你更方便的处理json,xml 等