我已经按照here和here发布的解决方案,在Integration Request
部分中我有application/json
的映射,将XML包装到JSON对象中。这一切都在API网关测试控制台中正常工作。我为我的标题添加Content-Type application/xml
,请求进入并转换为JSON。但是,当我从Postman测试它时,我必须输入application/json
以使请求起作用。否则,当我输入application/xml
时,我收到错误。
这是允许XML请求的正确方法吗?我已尝试在application/xml
中设置Integration Request
但我最终收到Unsupported media type
错误。
答案 0 :(得分:1)
如果您希望客户端在请求中发送XML(以及Content-Type:application / xml),您可以将请求映射模板定义为“application / xml”。
请注意,客户端必须发送Content-Type:application / xml。如果客户端发送不同的内容类型,则请求将因415而失败(此行为是可配置的)。
控制台中的测试调用假定Content-Type为“application / json”,因此您可能会看到与Postman不同的行为。
希望这有帮助, 莱恩
答案 1 :(得分:0)
Lambda不支持非JSON数据。有关详细信息,请参阅此讨论主题:https://forums.aws.amazon.com/thread.jspa?threadID=221346