使用 header 作为 application/json 在 Golang 中获取 POST 参数

Fetch POST Parameters in Golang with header as application/json

我是 golang 的新手,正在尝试使用 httprouter (https://github.com/julienschmidt/httprouter) 通过 POST 方法创建 REST API。 我正在使用 header 作为 Content-Type 的简单原始请求:application/json.

我已经很努力了,但还是找不到获取原始查询参数的方法。

req.FormValue("name") 或 req.Form.Get("name") 工作正常,但 header 为 Content-Type:application/x-www-form-urlencoded

有没有人试过获取原始查询参数(header as Content-Type : application/json)?

您需要从 URL.

中获取查询参数
// req *http.Request
params := req.URL.Query()
myParam := params["my-query-param"]

docs here

使用Json解码: 要求是 *http.Request

decoder := json.NewDecoder(req.Body)
decoder.UseNumber()
err := decoder.Decode(&yourStruct)