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
專家
已審閱 15 天前
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
專家
已審閱 15 天前
  • 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.

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南