Skip to content

Visitors - no shortcut for recursive references causing stack overflow #656

@Wozbo

Description

@Wozbo

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions