Membrane requires all Operations to set a unique operationId.
This is used for identification of all available operations across your OpenAPI.
For query parameters (i.e. in:query) with a schema that allows compound types i.e. array or objects
there are certain combinations of style and explode that do not use the parameter's name.
These combinations are:
type:objectwithstyle:formandexplode:truetype:objectortype:arraywithstyle:spaceDelimitedtype:objectortype:arraywithstyle:pipeDelimited
If an operation only has one query parameter (i.e. in:query) then this is fine. Membrane can safely assume the entire string belongs to that one parameter.
If an operation contains two query parameters, both of which do not use the parameter's name; Membrane cannot ascertain which parameter relates to which part of the query string.
This ambiguity leads to multiple "correct" ways to interpret the query string. Making it impossible to safely assume Membrane has validated it. Therefore, only one parameter, with one of the above combinations, is allowed on any given Operation.
- An OpenAPI Object requires an
openapifield. - An OpenAPI Object requires an
infofield. - All Path Items must be mapped to by their relative endpoint.
- All Operations MUST be mapped to by a method.
- Parameters must be unique. Uniqueness is defined by a combination of "name" and "in".
- A Parameter MUST contain a
namefield. - A Parameter MUST contain an
infield. - A Parameter MUST contain a
schemaorcontent, but not both.- if
contentis specified, it MUST contain exactly one Media Type- A Parameter's MediaType MUST contain a schema.
- if