Created by: Dijky
Fixes #2233 (closed).
@TiFu @taxpon @sebastianhaas @kenisteward @Vrolijkx @macjohnny @nicokoenig @topce
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
Add support for nested objects in query parameters.
Object type query parameters can currently not be properly serialized (see related issue above).
This PR allows nested object parameters in the HTTPQuery
type and extends the querystring
function of the API runtime library to recursively serialize objects with the deepObject
style as defined in OpenAPI 3.0.
This method does not support arrays of objects, as this would cause an ambiguous serialization due to the use of the explode
format for arrays.
E.g. a query string person[name]=Alice&person[name]=Bob
could be interpreted as an array of person objects with one name property each, or one person object with an array property name
.
Feedback is highly appreciated.