获取Golang中的POST参数,标题为application/json

获取Golang中的POST参数,标题为application/json,go,postdata,httprouter,Go,Postdata,Httprouter,我是golang的新手,尝试使用httprouter()用POST方法创建RESTAPI。 我使用的是简单的原始请求,其标题为内容类型:application/json 我已经尽力了,但并没有找到获取原始查询参数的方法 req.FormValue(“name”)或req.Form.Get(“name”)工作正常,但标题作为内容类型:application/x-www-Form-urlencoded 是否有人尝试获取原始查询参数(标题为内容类型:application/json)?您需要从URL中

我是golang的新手,尝试使用httprouter()用POST方法创建RESTAPI。 我使用的是简单的原始请求,其标题为内容类型:application/json

我已经尽力了,但并没有找到获取原始查询参数的方法

req.FormValue(“name”)或req.Form.Get(“name”)工作正常,但标题作为内容类型:application/x-www-Form-urlencoded


是否有人尝试获取原始查询参数(标题为内容类型:application/json)?

您需要从URL中获取查询参数

// req *http.Request
params := req.URL.Query()
myParam := params["my-query-param"]
使用Json解码: req是*http.Request

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

我很困惑。标题说您需要POST参数,但问题涉及JSON(它与表单完全不同)。然后问题还提到了查询参数,这与内容(即正文)无关。那是哪一个呢?就像我有一个API,它接受输入参数作为POST。我想获取输入参数或查询参数。我的API使用者将使用标题application/json进行post hit。这都是关于一件事,没有一个简单的问题,我不可能回答这个问题。那么我怀疑你不是指“查询参数”,你实际上在请求体中有JSON数据