使用 API 网关集成DynamoDB 时,如何修改 HTTP 响应代码?

0

【以下的问题经过翻译处理】 在直接将API Gateway集成到DynamoDB时,是否可以修改HTTP状态代码(而不是响应体,响应体可以进行转换),从HTTP 200 OK更改为HTTP 4xx错误,如果没有找到记录?

profile picture
专家
已提问 8 个月前55 查看次数
1 回答
0

【以下的回答经过翻译处理】 可以通过在方法响应中添加HTTP 4xx,并在集成响应中将相应的响应从DDB(DynamoDB)映射到它来实现。如果没有这个,所有响应状态代码都将映射到200。

在你的情况下,如果没有找到项目,DDB应返回HTTP 400(ResourceNotFoundException),如API参考中所示。这里

然后,您可以在方法响应中定义404,在集成响应中定义一个正则表达式,将来自DDB的400映射到方法响应中的404。

更详细地说,对于AWS / HTTP(s)后端集成,API网关使用后端的HTTP状态代码来匹配在集成响应中每个HTTP响应中定义的正则表达式,以确定向客户端返回哪个状态代码。在Lambda后端的情况下,它正在寻找响应中的“errorMessage”,如此[博客](https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/)所述。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则