我正在尝试实现与这篇文章相同的目标,但我不明白那里的回复,也无权在评论中要求澄清。
我有一个接受 GET 请求的 API 网关端点,将一些请求变量传递给 Lambda 函数(在 Python 中实现),并通过空响应模型返回 text/html(如此处所述
如前面的 SO 问题中所述,如果 Lambda 函数返回 HTML 字符串并且 API 端点使用默认的 Output Passthrough 行为@Integration Response,则引用 HTML 输出:
"\n<html>\n<body>\n ... \n</body>\n</html>\n"
该答案(@ARUNBALAN NV)说“只需将 HTML 标记存储在一个变量中并返回它。”,但我不确定这在 Lambda 函数的上下文中意味着什么。这是否意味着返回带有名为“variableHTML”的元素的“application/json”响应?像这样的东西?
"{\"variableHTML\": \"\\n<html>\\n<body>\\n ... \\n</body>\\n</html>\\n\"}"
我在 API Gateway 中设置了它,我的集成响应现在使用映射来完全按照建议提取元素(对于 200 个应用程序/json 响应):
#set($inputRoot = $input.path('$'))
$inputRoot.variableHTML .
结果现在是返回一个点。
我尝试了许多变体($input.json 而不是 $input.path,不同阶段的不同内容类型等),但感觉上述设置最接近来自另一个线程的接受答案。
任何我在这方面出错的见解将不胜感激。谢谢阅读!