我正在尝试使用API GW从我的python lambda ftn返回一个网页。相反,我将我的页面嵌入到正文中的标记中,而不是返回值是整页(标题,正文等等...没有pre>
任何建议我可能做错了
由于
答案 0 :(得分:4)
您看到的<pre>
标记是浏览器试图向您显示从服务器返回的文本。它不是Lambda函数返回的一部分。
要使其正常工作,您需要让lambda函数设置响应HTTP标头Content-Type: 'text/html'
例如:
response = {
"statusCode": 200,
"body": content,
"headers": {
'Content-Type': 'text/html',
}
}
答案 1 :(得分:1)
您必须配置API网关以返回正确的Content-Type。
$input.path('body')
。
{
"statusCode": 200,
"body": "<html><body><h1>Test</h1></body></html>,
}
Here's a more detailed article on how to return html from AWS Lambda
答案 2 :(得分:0)
尝试:
response_body = "<HTML><Title>Title</Title></HTML>"
最后:
return {
"statusCode": 200,
"body": response_body,
"headers": {
'Content-Type': 'text/html',
}
}
这是David Lin答案的公正代码