Skip to content

Unexpected change in parameter exclusiveMinimum between springdoc-openapi 2.8.6 and 2.8.10 #3067

@brunopereira7

Description

@brunopereira7

Describe the bug

I'm using springdoc-openapi in my Kotlin project. I've tried to upgrade from version 2.8.6 to 2.8.10, but I've noticed a change in the generated api-docs.

Consider the following code snippet:

@ParameterObject
data class BaseSearchParameters(
    @field:Positive
    @field:Parameter(description = "Page number (1-based).")
    val page: Int = 1,

    @field:Positive
    @field:Parameter(description = "Number of documents per page.")
    val size: Int = ControllerConstants.DEFAULT_PAGE_SIZE,
)

In version 2.8.6, it is not generating the "exclusiveMinimum".

{
    "name": "page",
    "in": "query",
    "description": "Page number (1-based).",
    "required": false,
    "schema": {
        "type": "integer",
        "format": "int32"
    }
},
{
    "name": "size",
    "in": "query",
    "description": "Number of dealers per page. Default is 20.",
    "required": false,
    "schema": {
        "type": "integer",
        "format": "int32"
    }
}

However, in version 2.8.10, it is generating the "exclusiveMinimum":

{
    "name": "page",
    "in": "query",
    "description": "Page number (1-based).",
    "required": false,
    "schema": {
        "type": "integer",
        "format": "int32",
        "exclusiveMinimum": 0
    }
},
{
    "name": "size",
    "in": "query",
    "description": "Number of dealers per page. Default is 20.",
    "required": false,
    "schema": {
        "type": "integer",
        "format": "int32",
        "exclusiveMinimum": 0
    }
}

Besides, according to OpenAPI Documentation, the exclusiveMinimum and exclusiveMaximum should be boolean, but are being generated as numbers.

Thank you for your time and support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    invalidThis doesn't seem right

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions