如何在 revel golang 中获取 POST 参数
How to get the POST params in revel golang
如何在 revel 中获取 POST 请求的参数?我有这个:
func (c App) Ndc() revel.Result {
fmt.Println(c.Params)
//more simple code to return a json...
}
我已经测试了很多东西但没有任何效果,所以我更喜欢让代码尽可能干净。这是输出:
&{map[Origin:[LHR] Destination:[DME] DepartureDate:[2016-10-31] ArrivalDate:[]] map[] map[] map[] map[Origin:[LHR] Destination:[DME] DepartureDate:[2016-10-31] ArrivalDate:[]] map[] []}
内容不错,但是。。。我怎么才能一一得到这些变量和它们的值呢??
谢谢。
这只是一个简单的地图,所有值都在一个切片中。要从请求中获取 Origin
值:
c.Params["Origin"][0]
编辑: 以上不起作用,但这应该:
c.Params.Get("Origin")
终于找到答案了,不知道是不是最好的办法。经过一步步this post,我找到了解决办法:
fmt.Println(c.Request.Form["Origin"][0])
输出为 LHR。
这取决于您请求中的 Content-Type
是否设置为 application/json
/ text/json
。如果是这样,您需要将其显式转换为地图:
var j map[string]interface{}
c.Params.BindJSON(&j)
origin := j["Origin"] // etc.
否则这应该有效:
origin := c.Params.Form["Origin"]
如何在 revel 中获取 POST 请求的参数?我有这个:
func (c App) Ndc() revel.Result {
fmt.Println(c.Params)
//more simple code to return a json...
}
我已经测试了很多东西但没有任何效果,所以我更喜欢让代码尽可能干净。这是输出:
&{map[Origin:[LHR] Destination:[DME] DepartureDate:[2016-10-31] ArrivalDate:[]] map[] map[] map[] map[Origin:[LHR] Destination:[DME] DepartureDate:[2016-10-31] ArrivalDate:[]] map[] []}
内容不错,但是。。。我怎么才能一一得到这些变量和它们的值呢??
谢谢。
这只是一个简单的地图,所有值都在一个切片中。要从请求中获取 Origin
值:
c.Params["Origin"][0]
编辑: 以上不起作用,但这应该:
c.Params.Get("Origin")
终于找到答案了,不知道是不是最好的办法。经过一步步this post,我找到了解决办法:
fmt.Println(c.Request.Form["Origin"][0])
输出为 LHR。
这取决于您请求中的 Content-Type
是否设置为 application/json
/ text/json
。如果是这样,您需要将其显式转换为地图:
var j map[string]interface{}
c.Params.BindJSON(&j)
origin := j["Origin"] // etc.
否则这应该有效:
origin := c.Params.Form["Origin"]