v3.2: Add in: "querystring"
parameter location treating the entire query string as one chunk of content
#4590
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NOTE: This change was tentativley approved for 3.2 a long time ago, then punted to 3.3 when we thought we'd need to defer larger data modeling changes to that release. However, several things have changed that makes this suitable for 3.2 now:
encoding
in all Media Type Objects #4559 and v3.2: Support ordered multipart including streaming #4589. We should really include all of the "use the Encoding Object in more places" changes in one release!in: querystring
to usingcontent
avoids all of the confusing problems of how to deal with the Parameter Object'sstyle
/explode
/etc. in an environment where they do not make sense (and duplicate the fields in the Encoding Object)deepObject
but now can be done while also usingstyle
/explode
for individual parameters)$ref
s comes pretty close)in: querystring, content: {text/plain: {...}
:This allows treating the entire query string as a single parameter, which for
application/x-www-form-urlencoded
results in it being handled exactly as request bodies of that media type are handled.Only one
in: "querystring"
is allowed per operation, and if it is present, noin: "query"
parameters are allowed.The
content
field MUST be used forin: "querystring"
, as thestyle
and related fields are handled in the Encoding Object.This also includes a recommendation that implementors design media types for complex query string formats such as those defined by various frameworks, and register a procedure for supporting them in our media type registry. This is intended to address a slow but steady trickle of requests to support various complex and often contradictory query string formats.