Open plutalov opened 3 years ago
This is probably the same issue as #5972 and https://github.com/swagger-api/swagger-js/issues/1425.
The workaround suggested in those issues is to move paths
before components
in the OpenAPI file.
I am facing the same issue, using open api 3.0.1, paths are before the components. My models are nested using mainly allOf refs. I validated the schema. It's ok, I can see all the data in there.
Updated to the latest version today (using dist), the issue is still there. No errors in the console. The schema tree simply stops at the third level and makes the rest as strings.
Tried the online swagger editor, and it produces the same issue.
I don't really know JS, but I've had a cursory look. sampleFromSchemaGeneric
in fn.js
doesn't seem to recognize or handle allOf
at all? Meaning it falls back to type recovery, and from there "string"
.
Considering a grep for allOf
turns up nothing in src/
, I'm not sure how this works at all.
Q&A (please complete the following information)
Content & configuration
Example Swagger/OpenAPI definition:
Describe the bug you're encountering
A model combining other models with allOf doesn't show properly if there are 3 or more $ref usages on higher levels. In this case it usually has a value "string" or empty object.
To reproduce...
Steps to reproduce the behavior:
TheOneWhichBrakes
model showsExpected behavior
Referenced models should render their type despite of referencing depth.
Screenshots
Additional context or thoughts
I've managed to reproduce the bug using different environments:
swagger-ui-express
swagger-ui-express@4.1.6 swagger-ui-dist@3.51.1
WebStorm
Plugin OpenAPI Specifications 202.7319.8
editor.swagger.io
There is a feature here. It reproduces during the first render. But there is an algorithm which makes it display properly:
/works
path. It always showsTheOneWhichBrakes
model properly. You also can just expandTheOneWhichBrakes
model itself/breaks
path. It will show you the broken view/breaks
is rendered as intended now