在fasthttp中获取请求参数键值

http://127.0.0.1:8080/x?haha=1

I want to get something like ctx.QueryArgs().Get("haha")

is it possible in golang's fasthttp package?

Found it

ctx.QueryArgs().Peek("haha")

The naming choice is unexpected.


Another option while you don't have the ctx but have ctx.Request is this:

// somewhere
req := &ctx.Request
.
.
.
// somewhere else
req.URI().QueryArgs().Peek("somekey")

You can retrieve a custom GET, POST PUT parameter using FormValue method:
- GET (Query String such as ?user=a&pass=b);
- POST, PUT body

Literally, from the documentation:

FormValue returns form value associated with the given key.

The value is searched in the following places:

  • Query string;
  • POST or PUT body.

There are more fine-grained methods for obtaining form values:

  • QueryArgs for obtaining values from query string.
  • PostArgs for obtaining values from POST or PUT body.
  • MultipartForm for obtaining values from multipart form.
  • FormFile for obtaining uploaded files.
token = string(ctx.FormValue("token"))

Documentation: https://godoc.org/github.com/valyala/fasthttp#RequestCtx.FormValue