How can I get the parameters on a POST request in revel?? I have this:
func (c App) Ndc() revel.Result {
fmt.Println(c.Params)
//more simple code to return a json...
}
I have tested many things but nothing works, so I prefer let the code cleaner as possible. This is the output:
&{map[Origin:[LHR] Destination:[DME] DepartureDate:[2016-10-31] ArrivalDate:[]] map[] map[] map[] map[Origin:[LHR] Destination:[DME] DepartureDate:[2016-10-31] ArrivalDate:[]] map[] []}
The content is good, but... how can I get one by one these variables and their values??
Thank you.
It's all just a simple map and all values are in an slice. To get the Origin
value from the request:
c.Params["Origin"][0]
EDIT: The above does not work, but this should:
c.Params.Get("Origin")
Finally I find an answer, I don't know if it is the best way. After follow step by step this post, I find the solution:
fmt.Println(c.Request.Form["Origin"][0])
The output is LHR.
It depends on whether the Content-Type
in your request is set to application/json
/ text/json
. If so, you will need to explicitly convert it to a map:
var j map[string]interface{}
c.Params.BindJSON(&j)
origin := j["Origin"] // etc.
Otherwise this should work:
origin := c.Params.Form["Origin"]