我在 API Gateway 上暴露了一个 API,但是观察到 API Gateway 转发的查询参数不是我所期望的。
假设我想请求以下 URL:
GET "https://cloud.domain.com/api/endpoint?param=%5B%27Param1%27%2C%27Param2%27%2C%27Param3%27%2C%27Param4%27%5D"
其中
param
是一个查询参数,它包含 ['Param1','Param2','Param3','Param4']
的 URL 编码值。
现在 AWS Gateway 将此请求转发到我的服务,如下所示:
GET "https://cloud.domain.com/api/endpoint?param=%5B'Param1','Param2','Param3','Param4'%5D"
.
我还参考了 AWS 的以下文档:Support for multi-value parameters in Amazon API Gateway。但我想了解的是,API Gateway 实际上是用查询参数做什么的?通过观察,我认为它是一个部分 URL 解码,其中只解码了特定字符(
'
和 ,
),其他保留原样。
我需要帮助来理解这个解析是如何工作的。谢谢!
总结:我试图将多个值查询参数传递给 API 网关上公开的 API,期望在服务中获得相同的请求。当它作为部分 URL 解码请求到达时。我想了解API网关是如何处理请求查询参数的。