Я пытаюсь достичь того же, что и this post, но я не понимаю ответа там и не имею разрешения просить разъяснений в комментариях.Обратный код HTML AWS API Gateway
У меня есть API шлюз конечной точка, которая принимает запрос GET, проходит через несколько переменного запрос к функции лямбды (реализованной в Python), и возвращает текст/html через пустую модель отклика (как описано here
As описанный в предыдущем SO вопрос, если функция Lambda возвращает строку HTML и API конечных точек используется по умолчанию Output Транзитная пересылка поведение @ Integration Response, выход HTML котируется:
"\n<html>\n<body>\n ... \n</body>\n</html>\n"
Этот ответ (по @ARUNBALAN NV) говорит: «Просто сохраните разметку HTML в переменной и верните ее». , но я не уверен, что это означает в контексте лямбда-функции. Означает ли это, что ответ «application/json» возвращает элемент с именем «variableHTML»? Что-то вроде этого?
"{\"variableHTML\": \"\\n<html>\\n<body>\\n ... \\n</body>\\n</html>\\n\"}"
Я установил, что до & в API шлюзе мой Integration Response теперь использует Mapping для извлечения элемента (для 200 приложений ответов/JSON) точно так, как предложил:
#set($inputRoot = $input.path('$'))
$inputRoot.variableHTML .
В результате сейчас одиночная точка возвращается.
Я пробовал много вариантов ($ input.json вместо $ input.path, разных типов контента на разных этапах и т. Д.), Но чувствую, что вышеуказанная настройка наиболее точно соответствует принятому ответу из другого потока.
Любое понимание, в котором я ошибаюсь, будет оценено по достоинству. Спасибо за прочтение!
Большое спасибо, Чарльз! Работает отлично. –
Это сработало для меня. Для справки я использовал «text/html» в качестве типа содержимого шаблона сопоставления, а последний блок кода html работал отлично. –
Не забудьте нажать синюю кнопку и развернуть API! – scottndecker