Skip to content

Enum schema names are nested and malformed #963

@swaechter

Description

@swaechter

Expected Behavior

The upgrade from Micronaut 3.7.7 to Micronaut 3.8.0 shouldn't break the OpenAPI

Actual Behavior

After upgrading from Micronaut 3.7.7 to Micronaut 3.8.0, more or less all enum schemas in our application/OpenAPI files are nested to another schema and thus malformed (Prefixed with Enum_ and with a trailing underscore). Example DTO with several enum/sub classes:

Screenshot1

The generated OpenAPI references these subschemas as expected:

Screenshot2

But following these enum schemas leads to a second, nested schema that is named differently to prevent schemas with the same name:

Screenshot3

Screenshot4

In addition, in the BackupSettingsDto, the value of the enum field now have an added object type (In 3.7.7 it was just a allOf + $ref)

Steps To Reproduce

That is the point that confuses me: I tried to reproduce the problem in https://github.com/swaechter/openapiproblems/tree/master/src/main/java/ch/swaechter/bug11 , but failed to do so. I am not sure what is the difference between my project and the bug example repo. I hope @altro3 can help out (There were several enum/JsonValue changes from reading the changelogs).

Environment Information

  • Platform: Linux Debian
  • Java: OpenJDK 64-Bit Server VM (build 17.0.4+8-Debian-1deb11u1, mixed mode, sharing)
  • Micronaut Application Gradle Plugin: 3.7.2
  • Micronaut Version: 3.8.0

Example Application

Not reproducible at the moment. https://github.com/swaechter/openapiproblems/tree/master/src/main/java/ch/swaechter/bug11 might serve as a starting point.

Version

3.8.0

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