Visitors - no shortcut for recursive references causing stack overflow
Wozbo opened this issue · comments
Describe the issue
When visitors are traversing a model to generate schema, it looks like any form of recursion causes a stack overflow. This occurs when the recursion is across models.
A => A - handled.
A => B => A - not handled
A => B => {...} => A - not handled.
To Reproduce
Steps to reproduce the behavior:
Create a standard API with open api attributes.
Create a model of type A that has a property of Type B.
Create a model of type B that has a property of Type C.
Create a model of type C that has a property of Type A.
Adding one extra level of indirection, as that would handle both the broken cases brought up above.
Expected behavior
Recursion for a visitor should short circuit and substitute a reference.
As far as I can tell, this issue is split across OpenApiSchemaAcceptor, and possibly the TypeVisitor.