HTTP GET
запросы не допускают тела запроса.
Если вам нужно сделать это с GET
, в основном у вас есть 2 варианта: добавить данные в качестве параметра запроса или отправить их в поле заголовка HTTP.
Обратите внимание , что поля URL и заголовка имеют ограничения по длине, поэтому, если вы хотите "прикрепить" длинный текст JSON, это может привести к ошибке. Для отправки произвольных данных вы должны использовать другой метод, например POST
.
Пример добавления его в качестве параметра запроса:
u, err := url.Parse("http://www.example.com")
if err != nil {
panic(err)
}
params := url.Values{}
params.Add("data", `{"a":1,"b":"c"}`)
u.RawQuery = params.Encode()
// use u.String() as the request URL
Пример отправки его в поле заголовка:
req, err := http.NewRequest("GET", "http://example.com", nil)
// ...
req.Header.Add("X-Data", `{"a":1,"b":"c"}`)
resp, err := client.Do(req)