Linter rulesOpenAPIoperation-document-not-primitive
operation-document-not-primitive
Since 0.0.1
Check operation responses and warn if they are defined as primitive values.
Rule Details
Using primitive values for responses has several drawbacks:
- it does not provide information about response structure
- it does not provide place for extension
- it makes error handling more difficult
The operation-document-not-primitive rule is designed to ensure that each
operation’s response in an OpenAPI schema is not a primitive value. This is
because response bodies should typically be objects or arrays that allow for
more complex and detailed responses.
Configuration
None.
Examples
Good. It is clear that the response body contains.
paths:
/users:
get:
responses:
"200":
description: A list of users.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/User"
Bad. It is not cleat what is inside the response. Plain textual description, error message or both ?
paths:
/users:
get:
responses:
"200":
description: A list of users.
content:
application/json:
schema:
type: string
When Not to Use It
We recommend to always enable this rule.
Compatibility
This rule is compatible with all OpenAPI 3.x versions.