Taking GET parameters as func arguments or using c.Params.Get() in Golang Revel

979 views Asked by At

In the Golang Revel web framework, what's the difference between setting function arguments as parameters (for both GET and POST)

func (c Machine) TestConnection(addr string, port int, username, password string) revel.Result

versus retrieving HTTP parameters from within the function

addr := c.Params.Get("addr")
port, _ := strconv.Atoi(c.Params.Get("port"))
username := c.Params.Get("username")
password := c.Params.Get("password")

Also, if I use the function arguments method (the first method), can I still validate the HTTP parameters with c.Validation.Required("addr").Ok?

1

There are 1 answers

3
ptman On BEST ANSWER

You can use whichever you prefer. However, defining them as method parameters lets the framework take care of parsing the string from the request to the type that you need. So it's offered as convenience.