有没有什么办法可以在不抛出异常的情况下通知Java的AWS Lambda错误?

Dun*_*gor 8 java amazon-web-services aws-lambda aws-api-gateway

如果我的Lambda Exception在消息中抛出,404则在API Gateway中看到的响应为

{
  "errorMessage":"404",
  "errorType":"java.lang.Exception",
  "stackTrace":[..."]
}
Run Code Online (Sandbox Code Playgroud)

并且我可以在errorMessage上进行匹配以影响HTTP结果。

但是,如果我有效地返回相同的结果,即:

{
  "errorMessage":"404",
  "errorType":"Error"
}
Run Code Online (Sandbox Code Playgroud)

API网关似乎无法识别出错误,并且始终返回200。

我的精美功能代码有什么办法可以在不引发异常的情况下发出错误信号?

Dun*_*gor 10

为了评估响应模式,Lambda函数必须退出并带有错误-无法通过在成功的Lambda响应中简单地返回“ errorMessage”字段来“伪造”错误响应。

https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/