Сопоставление вывода лямбды с заголовком шлюза API
Я пытаюсь сопоставить выходные данные JSON из лямбда-функции с заголовком вызова шлюза API. В качестве примера здесь мы можем рассмотреть сценарий перенаправления. Поэтому я хотел бы добавить заголовок Location
в ответ на мой вызов шлюза API.
Вывод JSON из лямбда-функции:
{
Location: 'http://google.com'
}
В "Method Response" - >" Response Headers " я могу добавить заголовок Location
в нужный код состояния HTTP.
Затем в "Integration Response" - > "Header Mappings" я могу добавить отображение для Location
заголовок должен быть чем-то.
Примечание: я пробовал integration.response.header.Location
или использовать "шаблоны отображения", но пока безуспешно.
Есть вероятность, что в данный момент это невозможно (https://forums.aws.amazon.com/thread.jspa?messageID=651482 ), но поскольку API Gateway / Lambda развиваются так быстро на данный момент, я все равно спрошу.
4 ответа:
Из форума разработчиков AWS сегодня (25 сентября 2015 г.) это пока невозможно, но может произойти в будущем:
API Gateway в настоящее время не поддерживает отображение из тела ответа интеграции в заголовки ответа, но мы надеемся добавить поддержку для этого в будущем.
Edit December 2015 : функция, добавленная в соответствии с сообщением сотрудника AWS в потоке, связанном выше. Благодаря Питер Фокс за то, что указал на это.
На сегодняшний день (январь 2016 года) он работает, просто указав
integration.response.body.Location
в вашем случае.
Сегодня (12 ноября 2015 г.) я искал способ передачи заголовка Location из моего серверного API в заголовок Location в Integration response.
Эта конфигурация работала, и я мог получить заголовок Location из backend api:
Похоже, что решение, предложенное Тобиасом, в настоящее время возможно. Однако заголовок Location указывает на backend API, и это не то, что нам нужно. Я постараюсь найти решение для этого и разместить его здесь.