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
?
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.