encoding-pipe-delimited-style-only-for-array-or-object-types
Overview
This rule belongs to the openapi-v3-standards-validation
ruleset and states that:
In an OpenAPI v3.1.x document, the pipeDelimited
style can only be used when the type of the encoding property is set as array
or object
i.e. it cannot be used for primitive types.
Property | Value |
---|---|
Enabled | Yes |
Maximum Severity | Error |
Message | Pipe delimited style cannot be used with the current property type. |
Code | OPENAPI3STANDARDS_V158 |
Type | Validation |
Rule System | Semantic |
Broad Category | Encoding |
Products Impacted | API Transformer, Code Generation, Developer Experience Portal |
Tags | openapi3 openapi standards semantic validation pipe delimited style array object serialization property encoding |
Suggested Fixes
- Ensure that the
type
of the property set in the property's schema definition is equal toarray
orobject
. - If the property type is not expected to be an array/object, change the value of the style property to one that supports primitive types e.g. form.
- If the property type is not expected to be an array/object and you are unsure about which style to use, simply remove the
style
property definition.
For More Information
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#encoding-object
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#openapi-specification
- https://docs.apimatic.io/rulesets/overview/