对来自 API Gateway 的查询参数进行编码

问题描述

我在 nodejs 中创建了一个 REST 应用程序,并且还为 URL 配置了 API 网关。我有一个带有查询参数的 URL。当邮递员的一个请求带有带有特殊字符(如 +,\ )的查询参数时,我需要从 API 网关对这些进行编码。有可能这样做吗?哪位大神帮忙解答一下... 提前致谢

解决方法

我们需要覆盖mapping template的{​​{1}}中的查询参数,我们在vtl中需要的函数是IntegrationRequest

在我们开始覆盖的那一刻,我们需要确保构建完整的请求体、参数等。

来自 here 的模板,我刚刚添加了一个额外的函数 $util.urlEncode 调用来编码参数。如果查询参数值为 $util.urlEncode 它将更改为 Test4!

Test4%21

enter image description here