Comments (2)
The reason, why the document is not loaded is, that the OpenApiRemoteReferenceCollector
does not get the reference added to the document with the securitySchemes. This occurs because the OpenApiWalker
does not visit references directly in a component. A fix for this would be to visit also unresolved references.
So the following could be changed from:
private bool ProcessAsReference(IOpenApiReferenceable referenceable, bool isComponent = false)
{
var isReference = referenceable.Reference != null && !isComponent;
if (isReference)
{
Walk(referenceable);
}
return isReference;
}
to
private bool ProcessAsReference(IOpenApiReferenceable referenceable, bool isComponent = false)
{
var isReference = referenceable.Reference != null &&
(!isComponent || referenceable.UnresolvedReference);
if (isReference)
{
Walk(referenceable);
}
return isReference;
}
I will prepare a PR.
from openapi.net.
I am concerned about this fix. We have had a number of issues in the past with having $ref at the root of the component. My recollection was that we still didn't support it properly. I can't tell at this point whether this change actually fixed the issue completely, or just exchanged one bug with other another. More investigation on our part is required before we can ship this.
from openapi.net.
Related Issues (20)
- OpenAPI 3.1 to Swagger 2.0 conversion HOT 1
- Post v2 Preview Checklist
- Use JsonSchema.NET to perform JSON schema validation
- Add wrapper type over JSON schema provided by System.Text.Json HOT 1
- Resolve `JsonSchemas` references with `$id` value pointers
- Initialization of StreamReader in OpenApiStreamReader throws an ArgumentNullException HOT 2
- OpenAPI 3.1 > Allow/Parse fields like 'description' next to #ref object properties HOT 2
- Warning 'Data and type mismatch found.' with 'date-time' format HOT 5
- hidi transform CSDL with ContainsTarget="true" infinite loop HOT 1
- Example value of an empty OpenApiArray disappears after serialization
- Error deserializing a ChatMessage HOT 1
- Typo in `IsFragrament` HOT 2
- Slack link 404
- Get operation by ID or ref
- Consider adding `Path` and `Type` properties to `OpenApiOperation` HOT 1
- Update `MapOpenApiPrimitiveTypeToSimpleType` to handle integers and numbers without a format HOT 2
- Concurrency error with reader registry
- Implement JSON schema serialization/deserialization
- Parameters defined using a `$ref` are not included in the OpenApiPathItem.Parameters collection HOT 1
- Relative reference in subdirectory OpenApi document fails to load
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openapi.net.