gpt4 book ai didi

amazon-web-services - 映射模板的默认内容类型

转载 作者:行者123 更新时间:2023-12-01 13:52:41 26 4
gpt4 key购买 nike

不幸的是,我正在与我的项目的数据提供者合作,该数据提供者不符合任何标准,因此请求 header 中没有指定内容类型。实际上它是指定的,但与内容类型不同。

POST 请求的payload 是xml 格式,所以据我了解我们需要使用映射模板将payload 包装在json 对象中。当我们将内容类型指定为集成请求部分中的设置类型之一时,所有这些都非常有效。

现在据我所知,如果请求 header 中未指定内容类型,那么它应该默认为“application/json”并执行与该类型关联的映射模板。在我们的例子中,它的行为就像忽略了映射模板,从而导致返回以下错误:

{"Type":"User","message":"无法将请求正文解析为 json。"}

只是提一下,请求被发送到 AWS Lambda 进行处理。

我们有什么想法可以让它发挥作用吗?

编辑:如果 Content-Type 未在 header 中设置,我已确认默认值为“application/json”。在这种情况下,我假设我遇到的是一个错误。

最佳答案

如果您不太依赖映射模板,您始终可以使用 lambda 代理集成:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

这有效地将解析主体的责任转移回您的 lambda 函数。您的 event对象现在将包含 body string- 所以不管标题 api-gw 将简单地将主体传递给您的函数来处理。这将允许您将正文解析为 XML,即使内容类型 header 丢失/无效。

关于amazon-web-services - 映射模板的默认内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com