azure-functions-openapi-extension icon indicating copy to clipboard operation
azure-functions-openapi-extension copied to clipboard

Visitors - no shortcut for recursive references causing stack overflow

Open Wozbo opened this issue 1 year ago • 0 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.

Wozbo avatar May 13 '24 14:05 Wozbo