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 Risposte
0
Risposta accettata

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

con risposta un anno fa
profile picture
ESPERTO
verificato un mese fa
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
con risposta un anno fa
profile picture
ESPERTO
verificato un mese fa
  • 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.

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande