Open
Description
Some APIs contain nested schemas, and the current version of 0.7.1 openapi-spec-validator is unable catch the recursive properties. Below is an example of what can be achieved with a little tweak in the class SchemaValidator validation/keywords.py.
nested_properties = []
if "allOf" in schema:
all_of = schema / "allOf"
while True:
for inner_schema in all_of:
yield from self(
inner_schema,
require_properties=False,
)
if "properties" not in inner_schema:
continue
inner_schema_props = inner_schema / "properties"
inner_schema_props_keys = inner_schema_props.keys()
nested_properties += list(inner_schema_props_keys)
if "allOf" not in inner_schema:
break
all_of = inner_schema / "allOf"
Metadata
Metadata
Assignees
Labels
No labels