【问题标题】:How to handle errors in serverless如何处理无服务器中的错误
【发布时间】:2016-12-06 21:03:01
【问题描述】:

我正在这样做:

context.fail({
            message: "Invalid Token!",
            code: app.error["010"].code,
        });

当我从邮递员那里调用 api 时,它会返回给我:

{ 
  "errorMessage": "[object Object]"
}

即使我没有发送任何名为 errorMessage 的密钥

我的问题是,我是否使用正确的方式返回错误 如果是,为什么它会这样 如果不是,在无服务器中处理错误的正确方法是什么

我会很感激的。

【问题讨论】:

  • 您是否使用 lambda 或 lambda-proxy 将您的 api 端点连接到 labmda 函数?
  • 我不知道 lambda 代理,我刚刚在 aws 上创建了一个帐户并在其中创建了一个用户,我使用 sls deploy 命令将我的代码推送到 aws
  • 您使用的是什么版本的无服务器?
  • C:\Users\aDmIn>sls -v 1.0.0-rc.2
  • 如果您升级到 1.0,您将使用 lambdaProxy 集成。然后你可以很容易地返回自定义标题和body html。 docs.aws.amazon.com/apigateway/latest/developerguide/…

标签: rest error-handling serverless-framework


【解决方案1】:

返回一个错误对象,它应该可以工作。 还使用回调而不是上下文来返回错误(这是现在的默认行为,context.fail 仅适用于旧版支持)

callback(new Error('Your message'))

【讨论】:

    猜你喜欢
    • 2014-09-24
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2012-07-25
    • 2010-12-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    相关资源
    最近更新 更多