我正在使用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作为内容类型并将输入作为字符串提供 . 我该如何解决这个用例?非常感谢帮助 .