Опубликовано: 18 апреля 2022 г. 21:49 | Автор: echodiv | Категория:
Разработка | 👁 1236
Если нам нужно создать GET запрос в Go с query параметрами, то можно столкнуться с неожиданными трудностями.
Самый простой вариант, это создать строку содержащую параметры и передать её как эндпоинт в метод запроса. Это будет выглядить следующим образом:
package main
import (
"fmt"
"net/http"
)
func main() {
client := &http.Client{}
apiKey := "mySuperAwesomeApiKey"
url := fmt.Sprintf("http://xztvc.ru/endpoint?api_key=%s", apiKey)
req, err := http.NewRequest("GET", url, nil)
if err != nil {
panic(err)
}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
fmt.Println(resp.Status)
}
В данном подходе главная опасность - это сложность в заполнении строки с параметрами. Можно легко запутаться, либо запутать того, кто будет смотреть код после нас. Для того чтобы избежать этого, можно пойти по следующему пути.