前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gin 学习之接收参数和读取 reader

Gin 学习之接收参数和读取 reader

作者头像
frank.
发布2020-08-26 18:02:13
1.4K0
发布2020-08-26 18:02:13
举报

01

PostForm

form 传参:

代码语言:javascript
复制
func (*gin.Context).PostForm(key string) string

PostForm returns the specified key from a POST urlencoded form or multipart form when it exists, otherwise it returns an empty string `("")`.

urlencoded form 和 multipart form:

urlencoded form 数据被编码成以 '&' 分隔的键-值对, 同时以 '=' 分隔键和值. 非字母或数字的字符会被 percent-encoding。

multipart form 支持二进制数据。

02

DefaultPostForm

form 传参:

代码语言:javascript
复制
func (*gin.Context).DefaultPostForm(key string, defaultValue string) string

DefaultPostForm returns the specified key from a POST urlencoded form or multipart form when it exists, otherwise it returns the specified defaultValue string.

更多信息,查看 PostForm() and GetPostForm()。

03

Query

URL 传参

代码语言:javascript
复制
func (*gin.Context).Query(key string) string

Query returns the keyed url query value if it exists, otherwise it returns an empty string `("")`.

它是 c.Request.URL.Query().Get(key) 的一种快捷方式。

示例:

代码语言:javascript
复制
GET /path?id=1234&name=Manu&value=

c.Query("id") == "1234"
c.Query("name") == "Manu"
c.Query("value") == ""
c.Query("wtf") == ""

04

DefaultQuery

URL 传参

代码语言:javascript
复制
func (*gin.Context).DefaultQuery(key string, defaultValue string) string

DefaultQuery returns the keyed url query value if it exists, otherwise it returns the specified defaultValue string.

更多信息,查看 Query() and GetQuery()。

示例:

代码语言:javascript
复制
GET /?name=Manu&lastname=

c.DefaultQuery("name", "unknown") == "Manu"
c.DefaultQuery("id", "none") == "none"
c.DefaultQuery("lastname", "none") == ""

05

PostFormMap

form 传参:

代码语言:javascript
复制
func (*gin.Context).PostFormMap(key string) map[string]string

PostFormMap returns a map for a given form key.

06

QueryMap

URL 传参:

代码语言:javascript
复制
func (*gin.Context).QueryMap(key string) map[string]string

QueryMap returns a map for a given query key.

示例代码:

请求示例:

代码语言:javascript
复制
curl --location --request POST 'http://localhost:8081/user?tel=13800138000&email=lucy@gmail.com&sex=girl&score[a]=66&score[b]=88' \
--form 'name=lucy' \
--form 'age=17' \
--form 'level[chinese]=1' \
--form 'level[english]=2'

07

Param

URI 传参:

代码语言:javascript
复制
func (*gin.Context).Param(key string) string

Param returns the value of the URL param.

它是 c.Params.ByName(key) 的一种快捷方式。

示例:

代码语言:javascript
复制
router.GET("/user/:id", func(c *gin.Context) {
    // a GET request to /user/john
    id := c.Param("id") // id == "john"
})

08

DataFromReader

代码语言:javascript
复制
func (*gin.Context).DataFromReader(code int, contentLength int64, contentType string, reader io.Reader, extraHeaders map[string]string)

DataFromReader writes the specified reader into the body stream and updates the HTTP code.

示例代码:


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Go语言开发栈 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

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