-
Notifications
You must be signed in to change notification settings - Fork 9.2k
Description
In https://spec.openapis.org/oas/latest#parameter-locations, it is stated that the serialized form of an in: query parameter is appended to the URL; however it does not state how this appending is done, nor how multiple query parameters of distinct styles should be combined.
RFC6570 is referenced in an appendix with a caution to not use the & form of uri templating and to append the query string manually, but again the use of combining multiple styles together is not clearly referenced.
Can we explicitly reference that all query parameters are expected to be serialized as in the application/x-www-form-urlencoded media-type? This is not an extra serialization pass however, but rather an overlapping one -- e.g. for deepObject and for some other style/explode/type combinations the individual key name(s) is/are not the parameter name itself but may be something else or even omitted entirely.
I think WHATWG is probably the best thing to reference here, but I'm not entirely sure.
We can also clarify (e.g. in one of the appendices that already talks about parameter decoding) that for in: query, it is always correct to use the application/x-www-form-urlencoded media type decoding to parse out the full list of keys/values from the query string (but not to treat this as an object as there may be duplicate keys, which may be used or ignored depending on the individual style and explode settings).