我目前正在将AmazonCloudSearch与前端应用程序集成。由于一个已知的CORS问题,我也被迫使用API网关。
出现的问题是,前端CloudSearch库发送带有编码参数的url。这些参数由API网关接收、解码并转发给CloudSearch。
有没有一种方法可以将CloudSearch配置为接受解码的斜杠?有没有办法使API网关在转发过程中不解码参数?
如果没有具体的例子,我无法确定您遇到的确切问题。我假设您将一个查询字符串参数传递到API网关,然后将此参数作为另一个查询串参数传递到CloudSearch。
以下是预期的行为:当您将查询字符串参数传入API网关时,它将首先对参数值进行url解码。这将解码任何经过百分比编码的字符,无论原始字符是否需要经过百分比编码才能符合URL RFC。如果将参数作为查询字符串参数传递给集成端点,则API网关将按百分比对参数值进行URL编码,仅对查询字符串值中出现的无效字符进行编码。
基于这种行为,尚不清楚解码后的斜杠是如何传递给CloudFront的。如果你能提供一个具体的例子,我可以进一步调查。