如何强制 API Gateway 不解码参数或 CloudSearch 期望解码斜杠?

问题描述 投票:0回答:2

我目前正在将 Amazon CloudSearch 与前端应用程序集成。 由于已知的 CORS 问题,我也被迫使用 API 网关。

出现的问题是,前端 CloudSearch 库发送带有编码参数的 url。这些参数由 API Gateway 接收、解码并转发到 CloudSearch。

有没有办法将 CloudSearch 配置为接受解码的斜杠?有没有办法让API Gateway转发时不解码参数?

aws-api-gateway amazon-cloudsearch
2个回答
0
投票

如果没有具体的示例,我无法确定您遇到的确切问题。 我假设您将查询字符串参数传递到 API Gateway,然后将此参数作为另一个查询字符串参数传递到 CloudSearch。

这是预期的行为:当您将查询字符串参数传递到 API 网关时,它首先会对参数值进行 url 解码。 这将解码任何百分比编码的字符,无论原始字符是否需要百分比编码才能符合 URL RFC。 如果参数作为查询字符串参数传递到集成端点,则 API Gateway 将按百分比对参数值进行 URL 编码,仅对查询字符串值中出现的无效字符进行编码。

基于此行为,尚不清楚如何将解码的斜杠传递到 CloudFront。 如果你能提供一个具体的例子,我可以进一步调查。


0
投票

我想了解如果 api 网关具有像 %2Fv 这样的路径参数,那么它通常应该如何表现。是否应该按原样传递到上游?或者应该将其编码为 a%252Fv 然后传递给上游?

© www.soinside.com 2019 - 2024. All rights reserved.