API Gateway HTTP API Proxy Integration re-encodes the query parameters

0

Hi,

Here is my configuration: mydomain.com -> API GW Custom Domain -> HTTP API -> Route (/api/{+proxy}) -> VPCLink -> ALB -> HTTPS Listener -> TargetGroup (Type: Instance) -> ECS Fargate Service

Our frontend clients sends an array as a query parameter but API GW encodes the parameters and the fargate application can not process the parameters. For example assume that client makes this request; https://mydomain.com/hello/world?key=value1,value2,value3 Request captured on backend is https://mydomain.com/hello/world?key=value1%2Cvalue2%2Cvalue3

How can I prevent this behavior? Is there any way?

Thanks

2 回答
0
已接受的回答

We solved the problem by decoding the parameters on backend application. "Thanks" to API Gateway there are no configuration options for this particular issue

已回答 1 年前
profile picture
专家
已审核 21 天前
0

It seems like URL encoding by default would be the expected behavior. If you have multiple values for the query string parameter (i.e. an array or collection) perhaps you should:

https://mydomain.com/hello/world?key=value1&key=value2&key=value3

AWS
andy
已回答 1 年前
profile picture
专家
已审核 21 天前
  • Thanks for the answer. We have quite a lot of query params, using the suggested way will cause our urls to be huge. I would love to have a way to disable it or at least provide a parameter mapping to overwrite the query params with decoded ones.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则