Created by: BastiOfBerlin
rails' default naming for arrays in query parameters is name[]=...&name[]=... It doesn't recognize the escaped forms %5B + %5D but fails silently
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
,./bin/security/{LANG}-petstore.sh
and./bin/openapi3/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,. Default:3.4.x
,4.0.x
master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
Description of the PR
Adapting the solution here to prevent HttpParameterCodec from encoding '[' and ']' in query param keys.
This is important for using Rails as a backend as the square brackets are added to the parameter names as per default.
I suppose this change doesn't interfere with most people's APIs as square brackets are not common suffixes other to arrays. Encoding them on the other hand is not necessary for URIs and users could still do this if required for their specific project.
However, if this still considered to be a breaking change, I suppose introducing an additional parameter such as 'rails-compat-query-array-params'.