我有一个生成一些文本的lambda函数。这是一个简单的Twilio应用程序
<Say>Welcome to your conference room!</Say>
<Dial>
<Conference beep="true">waitingRoom</Conference>
</Dial>
当我使用邮递员发出POST请求时,它会完全输出。但我有两个问题:
答案 0 :(得分:5)
我使用以下模板映射来基本上剥离引号并且它起作用:
答案 1 :(得分:4)
我很高兴不是唯一一个与AWS Api Gateway斗争的人:)
据我所知,AWS Api Gateway主要面向JSON。如果您可以更改返回的响应内容(使用JSON),也许您可以解决您的问题:
{"say": "Welcome to your conference room!",
"dial": [{
"conference": [{
"beep": "true",
"name": "waitingRoom"
}]
}
]}
然后,您可以使用映射模板功能(在Integration响应屏幕中)映射此内容,方法是将内容类型设置为“application / json”的模板添加,并将映射模板设置为:
<Say>$input.json('say')</Say>
<Dial>
<Conference beep="$input.json('dial.conference.beep')">$input.json('dial.conference.name')</Conference>
</Dial>
这有助于您或我遗失某些内容吗?
答案 2 :(得分:0)
要修改响应中的Content-Type,需要在API网关中配置2个区域:方法响应和集成响应。
在方法响应中,您为200状态代码添加Content-Type响应标头。
在Integration Response中,打开200响应并将Content-Type的值设置为text / xml。
以下是我在回复html内容时写的一篇文章的截图。您的情况听起来非常相似,因为您希望返回恰好包含xml并且发送了正确的Content-Type标头的字符串类型。
以下是原始文章的链接:http://kennbrodhagen.net/2016/01/31/how-to-return-html-from-aws-api-gateway-lambda/