Sobes.tech
Назад к вопросам
Senior
2

Можно ли структуру использовать для параметров HTTP-запроса?

Компании, где спрашивали
SberAuto

Ответ от нейросети

sobes.tech AI

Да, в Go структуру можно использовать для параметров HTTP-запроса, особенно при работе с фреймворками или библиотеками, которые поддерживают автоматическое связывание (binding) параметров запроса с полями структуры.

Например, если у вас есть структура с тегами url или form, вы можете автоматически распарсить параметры GET или POST-запроса в эту структуру:

type Params struct {
    UserID   string `url:"user_id"`
    Page     int    `url:"page"`
}

func handler(w http.ResponseWriter, r *http.Request) {
    var p Params
    // Используем, например, github.com/gorilla/schema для декодирования
    decoder := schema.NewDecoder()
    err := decoder.Decode(&p, r.URL.Query())
    if err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }
    // Теперь p содержит параметры запроса
}

Таким образом, структура помогает удобно и типобезопасно работать с параметрами HTTP-запроса.