swagger-core icon indicating copy to clipboard operation
swagger-core copied to clipboard

Incorrect OpenAPI specification produced for an Iterable of enums in Scala

Open nils1k opened this issue 1 year ago • 0 comments

Describe the bug

When I have a field of type Iterable of an enum, e.g. a Set or a Seq, then springdoc is not generating the correct OpenAPI specification.

To Reproduce Steps to reproduce the behavior:

What version of spring-boot you are using? Version 3.2.5.

What modules and versions of swagger-core are you using? I'm using version 2.5.0 of the org.springdoc:springdoc-openapi-starter-webmvc-ui module, which in turn has a dependency on version 2.2.21 on io.swagger.core.v3:swagger-core-jakarta.

What is the actual and the expected result using OpenAPI Description (yml or json)? Expected result:

"fareClasses": {
    "type": "array",
    "description": "FareClasses",
    "items": {
        "type": "string",
        "enum": [
            "FIRST_CLASS",
            "SECOND_CLASS",
            "THIRD_CLASS",
            "ECONOMY_CLASS"
        ]
    }
}

Actual result:

"fareClasses": {
    "type": "array",
    "description": "FareClasses",
    "items": {
        "type": "string"
    }
}

Please refer to the sample code that reproduces the issue.

Expected behavior

The fareClasses field should be an enum.

I originally posted this issue in the springdoc issue tracker, but realised that this might be an issue in swagger-core.

nils1k avatar May 21 '24 07:05 nils1k