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

0

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

1 Antwort
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
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen