Currently oats depends on the adapters to marshal query parameters in the url to the query parameter object passed to the runtime checker. There is no way for the query parameter formatting specified in the openapi spec to be used for the parsing of the query parameter -- we are wholly dependant on how the adapter is configured to parse the query parameters.
In addition to not being really compliant with openapi3 this causes behaviour differences between the adapters, eg mirage and koa parse the query parameters differently.
To solve this we could move the query parameter parsing to the oats side so that we can ensure that the behaviour is the same for all adapters.
See "Query parameters" in https://swagger.io/docs/specification/serialization/
Currently oats depends on the adapters to marshal query parameters in the url to the query parameter object passed to the runtime checker. There is no way for the query parameter formatting specified in the openapi spec to be used for the parsing of the query parameter -- we are wholly dependant on how the adapter is configured to parse the query parameters.
In addition to not being really compliant with openapi3 this causes behaviour differences between the adapters, eg mirage and koa parse the query parameters differently.
To solve this we could move the query parameter parsing to the oats side so that we can ensure that the behaviour is the same for all adapters.
See "Query parameters" in https://swagger.io/docs/specification/serialization/