我正在使用无服务器框架,最近从 lambda 代理集成更改为 lambda 集成。现在我有一个在查询参数中使用过滤器的端点。这是我用来映射查询字符串的请求模板,
"queryStringParameters": {
#foreach($query in $request_query.keySet())
"$query" : "$util.escapeJavaScript($request_query.get($query))"
#if($foreach.hasNext),#end
#end
}
这是终点:
https://example.com/ds/districts?page=1&pagesize=12&filtercriteria=name~%27John%27
但是当我调用此端点时,我收到错误
Could not parse request body into json: Could not parse payload into json: Unrecognized character escape \'\'\' (code 39)\n at [Source: (byte[])\"
这些是我引用的文档,
https://www.serverless.com/framework/docs/providers/aws/events/apigateway#lambda-integration
非常感谢任何帮助或建议,谢谢
根据文档
$util.urlDecode()
并将每个查询元素传递到此解决了问题。