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
?