New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
apidom-reference: internal vs external resolution #3451
Comments
For AsyncAPI 2.x, OpenAPI 2.0, OpenAPI 3.0.x - determining what is internal and external reference is quite straightforward. It already works properly (needs to be double-checked just to be sure). For OpenAPI 3.1.0 - it's quite complicated as already mentioned above:
Ideally we want a solution is that common for all dereference strategies. |
OpenAPI 3.1.0 now remains to be fixed. |
This change will handle cases where the referenced data is served from the external URL, but the definition is served on the the same external URL as well. Refs ##3451
One more bug related to other dereference strategies than OpenAPI 3.1.0 - all visitors needs to introduce |
This change affects all dereference and resolution strategies. Refs #3451
This change affects all dereference and resolution strategies. Refs #3451
What remains now is to add support for |
|
OpenAPI 2.0 resolve strategy addressed in #3903 |
OpenAPI 3.0 addressed in #3904 |
AsyncAPI 2.0 addressed in #3905 |
OpenAPI 3.1.0 addressed in #3906 |
swaggre-client integration addressed in swagger-api/swagger-js#3403 |
Our dereference strategies can be configured to skip resolving external references.
Let's think about if it makes sense to configure allowing/disallowing resolving internal references as well. This will get very complicated with OpenAPI 3.1.0 so needs to be researched first.
Next thing is properly determining what is external and what is internal. Our current mechanism of deciding is IMHO insufficient in OpenAPI 3.1.0 dereference, because of use of JSON Schema 2020-12
$id
keyword. If the URI defined in$id
keyword is not found within the root definition, we fallback to fetching the URL.TODO:
The text was updated successfully, but these errors were encountered: