我正在使用AWS API网关来创建一个post rest API . 其余的API将在dynamoDB表“Metadata”中添加数据,该表有四列 .
其余API的输入是类似“2 -164 4104 1.50”的字符串,其中每个空格分隔值按顺序属于“元数据”表列值 .
我无法弄清楚如何配置Body Mapping Templates,它可以解析输入字符串并按顺序将其映射到表列 .
所需输出如下图所示:https://i.stack.imgur.com/d2fpF.png
我试图拆分字符串,拆分很好 . 但我得到的响应为“__type”:“com.amazon.coral.service#SerializationException”
我的映射是content-type:application / json:
#set($rawAPIData=$inout.path('$'))
#set($s=$rawAPIData.split(""))
"TableName": "Metadata",
"Item": {
"id": {
"S": "$s.get(0)"
},
"cap": {
"S": "$s.get(1)"
},
"counter": {
"S": "$s.get(2)"
},
"timer": {
"S": "$s.get(3)"
}
}
输出日志:转换后的 endpoints 请求体:
“TableName”:“元数据”,“项目”:{“id”:{“S”:“2”},“cap”:{“S”:“ - 164”},“counter”:{“S” :“4104”},“计时器”:{“S”:“1.50”}}
endpoints 响应标头:{Server = Server,Connection = keep-alive,x-amzn-RequestId = J89RJ8GPC2D95GT0AP284PQSPBVV4KQNSO5AEMVJF66Q9ASUAAJG,x-amz-crc32 = 3948637019,Content-Length = 60,Date = Sun,26 Nov 2017 07:08:49 GMT ,Content-Type = application / x-amz-json-1.0}转换后的方法响应体:{“_ _ type”:“com.amazon.coral.service#SerializationException”}
似乎问题在于使用application / json作为内容类型并将输入作为字符串提供 . 我该如何解决这个用例?非常感谢帮助 .