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
typeof the property set in the property's schema definition is equal toarrayorobject. - 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
styleproperty 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/