У меня есть golang lambda, который готовит запрос ES, отправляет его во внешнюю систему и возвращает ответ.В настоящее время я не нашел лучшего подхода, чем неумолимый ответ на interface{}
.
func HandleRequest(ctx context.Context, searchRequest SearchRequest) (interface{}, error) {
// ... some data preparation and client initalisation
resp, err := ctxhttp.Post(ctx, &client, url, "application/json", buffer)
if err != nil {
return "", err
}
var k interface{}
all, err := ioutil.ReadAll(resp.Body)
err = json.Unmarshal(all, &k)
return k, err
}
Я не уверен, что это самый быстрый и самый эффективный способ пересылки ответа из-за этих дополнительных ReadAll
и Unmarshall
.Есть ли более эффективный подход?Я посмотрел на events.APIGatewayProxyResponse{}
, но body
в нем - нужны строки и такие же манипуляции