Я хочу создать HTTP-запрос POST с телом с использованием библиотеки Go net/http
.
Функция, которую я использую для создания http-запроса, следующая: docs
http.NewRequest(method string, url string, body io.Reader)
Я предложил 2 решения, но я пытаюсь понять, какое из них более идиоматично и расширяемо для поддержки различных конфигураций тела.
Solution #1
bytesObj := []byte(`{"key":"value"}`)
body := bytes.NewBuffer(bytesObj)
Solution #2
bodyMap := map[string]string{"key":"value"}
bodyBytes, _ := json.Marshal(bodyMap)
body := bytes.NewBuffer(bodyBytes)
В идеале я перенесу код в вспомогательную функцию таким образом, чтобы я мог настроить конструкцию тела.Вспомогательная функция будет выглядеть примерно так:
func constructBody(someArgument) io.Reader {
return bodyHere
}