Подтвердить что ты не робот

Создатель URL/построитель запросов в Go

Мне интересно динамически принимать аргументы от пользователя в качестве входных данных через браузер или CLI для передачи этих параметров в вызов REST API и, следовательно, динамически создавать URL-адрес с помощью Go, который в конечном итоге приведет мне некоторые данные JSON. Я хотел знать некоторые методы в Go, которые могли бы помочь мне в этом. Один из идеальных способов, я думал, это использовать карту и заполнить ее с помощью ключей аргументов и соответствующих значений и перебрать ее и добавить в строку URL. Но когда дело доходит до динамического принятия аргументов и заполнения карты, я не очень уверен как это сделать в Go. Может ли кто-нибудь помочь мне с некоторым фрагментом кода в Go?

Пример -

Http://: порт апи = fetchJsonData & arg1 = val1 & арг2 = значение2 & arg3 = val3..... & АГРН = valn

4b9b3361

Ответ 1

Там уже url.URL, который обрабатывает такие вещи для вас.

Для обработчиков http (входящих запросов) это часть http.Request (обращайтесь к ней с помощью req.URL.Query()).

Очень хороший пример из официального docs:

u, err := url.Parse("http://bing.com/search?q=dotnet")
if err != nil {
    log.Fatal(err)
}
u.Scheme = "https"
u.Host = "google.com"
q := u.Query()
q.Set("q", "golang")
u.RawQuery = q.Encode()
fmt.Println(u)