AWS API Gateway和Lambda中的错误处理始终返回502

Jim*_*Jim 1 lambda amazon-web-services aws-api-gateway serverless-framework

我使用无服务器来实现Lambda和Api网关。当我实现错误处理时,下面的代码总是会得到502错误的网关。

handler.js

module.exports.hello = (event, context, callback) => {
  const response = {
      statusCode: 400,
      headers: {
        "Content-Type" : "application/json"
      },
      body: JSON.stringify({
        "status": "error",
        "message": "Missing Params"
      })
    };
    callback(response);
};
Run Code Online (Sandbox Code Playgroud)

CloudWatch会记录错误。

{
    "errorMessage": "[object Object]"
}
Run Code Online (Sandbox Code Playgroud)

我通过遵循AWS博客下面的“自定义错误对象序列化”方法来进行这种编码。 参考

Jim*_*Jim 5

我将回调的第一个参数更改为null并正常工作。参考

module.exports.hello = (event, context, callback) => {
  const response = {
      statusCode: 400,
      headers: {
        "Content-Type" : "application/json"
      },
      body: JSON.stringify({
        "status": "error",
        "message": "Missing Params"
      })
    };
    callback(null, response);
};
Run Code Online (Sandbox Code Playgroud)