Extensible enumerations (growable lists)
See original GitHub issueHey all, I did some searching in the OAI repo, and it didn’t jump out at me as an existing feature request.
The issues with enum being “non-growable” without making a major semver change for an API have been talked about in several places. Zalando came up with nice framework within their API guidelines to handle this, which would be incredibly useful to upstream into the specification itself
https://zalando.github.io/restful-api-guidelines/#112
Should: Used Open-Ended List of Values (x-extensible-enum) Instead of Enumerations [112] Enumerations are per definition closed sets of values, that are assumed to be complete and not intended for extension. This closed principle of enumerations imposes compatibility issues when an enumeration must be extended. To avoid these issues, we strongly recommend to use an open-ended list of values instead of an enumeration unless:
the API has full control of the enumeration values, i.e. the list of values does not depend on any external tool or interface, and
the list of value is complete with respect to any thinkable and unthinkable future feature.
To specify an open-ended list of values use the marker x-extensible-enum as follows:
deliver_methods:
type: string
x-extensible-enum:
- parcel
- letter
- email
Issue Analytics
- State:
- Created 5 years ago
- Reactions:11
- Comments:27 (12 by maintainers)
Top GitHub Comments
Any update on on how to do it in openapi 3.0. Is this the way to go for extensible enum in opanAPI 3.0
Any decisions on this?