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 Answers
0
Accepted Answer

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

answered a year ago
profile picture
EXPERT
reviewed 22 days ago
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
answered a year ago
profile picture
EXPERT
reviewed 22 days ago
  • 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.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions