在AWS Lambda for Node模板中返回没有API网关的HTML响应

a5g8bdjr  于 2023-02-15  发布在  Node.js
关注(0)|答案(2)|浏览(132)

我正在尝试使用AWS Lambda进行实验,我正在使用无服务器CLI进行部署。我正在使用aws-nodejs模板生成我的项目文件夹。
这是handler.js代码:

'use strict';

module.exports.hello = async (event, context) => {
  return {
    statusCode: 200,
    body: {
      "message":
      'Hello World! Today is '+new Date().toDateString()
    }
  };

  // Use this code if you don't use the http event with the LAMBDA-PROXY integration
  // return { message: 'Go Serverless v1.0! Your function executed successfully!', event };
};

我得到了一个成功的JSON格式的响应。我正在尝试调整它以返回HTML响应。我应该为此更改内容类型吗?如果是,该怎么做?
我已经回答了以下问题:

还有其他一些。但是他们都在使用Web控制台和API网关,而我没有使用。

vhmi4jdf

vhmi4jdf1#

您只需要添加html的内容头

return {
  statusCode: 200,
  headers: {
    'Content-Type': 'text/html',
  },
  body: '<p>Look ma, its sending html now</p>',
}

此外,这是在其中一个serverless examples in their github repo

jmo0nnb3

jmo0nnb32#

这工作,尝试它。我已经测试了它与Lambda函数URL或与Lambda作为目标的应用程序负载平衡器

export const handler = async(event) => {
   
    // TODO implement
    const response = {
        statusCode: 200,
        body: '<h1>HTML from Lambda without API GW</h1>',
        headers: {
            'Content-Type': 'text/html',
        }
    };
    return response;
};

相关问题