| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
As discovered through the OASComply project, certain referencing scenarios are ambiguous, with different authorities holding contradictory interpretations regarding whether and how they are to be supported. As a result, it is impossible to define compliance, as all of the interpretations can be argued to be "correct" in some sense. This change excludes some particularly challenging scenarios from compliance testing by making their behavior explicitly implementation-defined. This has several benefits: * No current implementation is rendered non-compliant * No currently usable OAD is rendered invalid * New implementers need not put effort into handling these scenarios * User expectations are set to _not_ expect consistent behavior * Linters can write a rule to match these expectations * Everyone is guided towards straightforwad best practices
The Structural Interoperability section should be a subsection of the OpenAPI Description Structure section.
Co-authored-by: Ralf Handl <ralf.handl@sap.com>
There was a problem hiding this comment.
Thanks for this!
Sorry, something went wrong.
Clarify interoperable parsing expectations (3.0.4 port of #3732)
| Back | FazBrowse Home | New Git URL |
This is the first of several changes to un-block the OASComply project.
As discovered through the OASComply project, certain referencing scenarios are ambiguous, with different authorities holding contradictory interpretations regarding whether and how they are to be supported. As a result, it is impossible to define compliance, as all of the interpretations can be argued to be "correct" in some sense.
This change excludes some particularly challenging scenarios from compliance testing by making their behavior explicitly implementation-defined. This has several benefits:
Note that the scenarios being deemed "implementation-defined" here are rarely if ever done on purpose.
If you are unclear as to why there is ambiguity in these parsing rules, please read at least the summary report on this topic, before objecting. While the scenarios excluded here were arguably well-specified in 2.0, the relevant language was removed in 3.0, with the requirements becoming even more ambiguous in 3.1.
If accepted, I will forward-port this to 3.2.0. I believe this can also be backported to 3.0.4, but the requirements are slightly different there so I wanted to start with the easiest case, which is 3.1.1.