Похоже, что когда я отправляю тело с запросом POST, мое сопоставление шаблонов становится перезаписанным полезной нагрузкой.AWS API Gateway Overwriting Integration Request Mapping Template
У меня есть ресурс шлюза API, вызывающий функцию лямбда. Лямбда-функция проста, она просто отгоняет то, что она получает.
exports.handler = function(event, context) {
context.succeed({event: event});
};
Эта функция лямбда, называемая эхо, вызывает функцию Лямбды через POST. Метод POST имеет шаблон запроса интеграции отображения (который прямо из docs):
{
"name" : "$input.params('name')",
"body" : $input.json('$')
}
Когда я делаю запрос БЕЗ тело я получаю обратно ответ я ожидаю:
curl -XPOST https://foo.execute-api.us-east-1.amazonaws.com/test/echo?name=foo
{"event":{"name":"foo","body":{}}
Однако, когда я делаю запрос с тело отображение шаблона больше не работает:
curl -XPOST https://foo.execute-api.us-east-1.amazonaws.com/test/echo?name=foo -d '{"text": "Say goodbye to your template mapping"}'
{"event":{"text":"Say goodbye to your template mapping"}
Как я могу обеспечить, чтобы мое сопоставление шаблонов применялось, когда тело присутствует в запросе?
Спасибо. Так. Многое. Шутки в сторону. –