所以我有类似
的东西my/path/123
这很好用。
然而,当我尝试使用字符串" asdf"
时my/path/"asdf"
我明白了
{"message": "Could not parse request body into json: Unexpected character (\'%\' (code 37)): expected a valid value (number, String, array, object, \'true\', \'false\' or \'null\')\n at [Source: [B@420db2ef; line: 2, column: 13]"}
如果我尝试用w / o引号(所以我的/ path / asdf)我得到了这个:
{"message": "Could not parse request body into json: Unrecognized token \'asdf\': was expecting (\'true\', \'false\' or \'null\')\n at [Source: [B@7fba20c8; line: 2, column: 17]"}
如果我尝试https://7mdamwt4jg.execute-api.us-east-1.amazonaws.com/prod/%22asdf%22
(%22代表双引号)
我明白了:
{"message": "Could not parse request body into json: Unexpected character (\'%\' (code 37)): expected a valid value (number, String, array, object, \'true\', \'false\' or \'null\')\n at [Source: [B@7f4f2919; line: 2, column: 13]"}
我还能尝试什么?
答案 0 :(得分:1)
您可以在集成请求中创建一个正文映射模板,并获取如下所示的路径参数
{
"PathName" : "$input.params('PathName')"
}
其中'PathName'是路径参数的名称。
假设您的路径名是UserId,那么您可以像使用event.UserId一样在Lambda函数中获取参数。请参阅下面的屏幕截图以进入正文映射模板,
答案 1 :(得分:0)
此错误表示您的Lambda函数无法将请求字符串解析为json。问题很可能出现在您的映射模板中。请参阅此处的工作示例https://gist.github.com/rpgreen/5cd3d5c872781335a5d3