Использование параметров GET в качестве аргументов функции или использование c.Params.Get() в Golang Revel

В чем разница между установкой аргументов функции в качестве параметров в веб-фреймворке Golang Revel (как для GET, так и для POST)

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

по сравнению с получением параметров HTTP из функции

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

Кроме того, если я использую метод аргументов функции (первый метод), могу ли я проверить параметры HTTP с помощью c.Validation.Required("addr").Ok?


person Acidic9    schedule 07.09.2017    source источник


Ответы (1)


Вы можете использовать то, что предпочитаете. Однако определение их как параметров метода позволяет платформе позаботиться о синтаксическом анализе строки запроса до нужного вам типа. Так что это предлагается как удобство.

person ptman    schedule 07.09.2017
comment
Хорошо, я переключу свой код на использование параметров функции. Спасибо. - person Acidic9; 07.09.2017
comment
А по поводу моего второго вопроса в конце моего поста? - person Acidic9; 07.09.2017
comment
Во всяком случае, проверка предназначена для работы с параметрами метода. - person ptman; 07.09.2017