fasthttp中获取一个请求参数key-value
Get a request parameter key-value in fasthttp
http://127.0.0.1:8080/x?haha=1
我想得到类似 ctx.QueryArgs().Get("haha")
的东西
在 golang 的 fasthttp
包中可以吗?
找到了
ctx.QueryArgs().Peek("haha")
命名选择出乎意料。
没有 ctx 但有 ctx.Request
的另一种选择是:
// somewhere
req := &ctx.Request
.
.
.
// somewhere else
req.URI().QueryArgs().Peek("somekey")
您可以使用 FormValue 方法检索自定义 GET、POST PUT 参数:
- GET (Query String such as ?user=a&pass=b);
- POST, PUT 正文
从字面上看,来自文档:
FormValue returns 与给定键关联的表单值。
在以下位置搜索值:
- 查询字符串;
- POST 或 PUT 正文。
还有更细粒度的获取表单值的方法:
- QueryArgs 用于从查询字符串中获取值。
- PostArgs 用于从 POST 或 PUT 主体获取值。
- MultipartForm 用于从多部分表单中获取值。
- FormFile获取上传文件
token = string(ctx.FormValue("token"))
文档:
https://godoc.org/github.com/valyala/fasthttp#RequestCtx.FormValue
使用 Peek 和 PeekMulti
?haha=1
ctx.QueryArgs().Peek("haha")
?haha=1&haha=2
ctx.QueryArgs().PeekMulti("haha")
这里声明了一些有用的方法:
https://github.com/valyala/fasthttp/blob/a1cfe58ca86648c6701f1cb7e8b1587348dd5b9f/args.go#L245
http://127.0.0.1:8080/x?haha=1
我想得到类似 ctx.QueryArgs().Get("haha")
在 golang 的 fasthttp
包中可以吗?
找到了
ctx.QueryArgs().Peek("haha")
命名选择出乎意料。
没有 ctx 但有 ctx.Request
的另一种选择是:
// somewhere
req := &ctx.Request
.
.
.
// somewhere else
req.URI().QueryArgs().Peek("somekey")
您可以使用 FormValue 方法检索自定义 GET、POST PUT 参数:
- GET (Query String such as ?user=a&pass=b);
- POST, PUT 正文
从字面上看,来自文档:
FormValue returns 与给定键关联的表单值。
在以下位置搜索值:
- 查询字符串;
- POST 或 PUT 正文。
还有更细粒度的获取表单值的方法:
- QueryArgs 用于从查询字符串中获取值。
- PostArgs 用于从 POST 或 PUT 主体获取值。
- MultipartForm 用于从多部分表单中获取值。
- FormFile获取上传文件
token = string(ctx.FormValue("token"))
文档: https://godoc.org/github.com/valyala/fasthttp#RequestCtx.FormValue
使用 Peek 和 PeekMulti
?haha=1
ctx.QueryArgs().Peek("haha")
?haha=1&haha=2
ctx.QueryArgs().PeekMulti("haha")
这里声明了一些有用的方法: https://github.com/valyala/fasthttp/blob/a1cfe58ca86648c6701f1cb7e8b1587348dd5b9f/args.go#L245