@Schema(type = "integer") в @Parameter с @RouterOperation не работает в Springdoc OpenAPI

Я использую Spring WebFlux с Springdoc OpenAPI и пытаюсь задокументировать конечную точку API с помощью @RouterOperation. Мой code выглядит так:

)

Проблема, с которой я столкнулся, заключается в том, что часть schema = @Schema(type = "integer") @Parameter, похоже, работает не так, как ожидалось. Когда я проверяю сгенерированную документацию OpenAPI (пользовательский интерфейс Swagger), параметр id не распознается как целое число. Вместо этого он отображается как строка или вообще не применяет требуемую схему.

Я использую следующие версии:

Springdoc OpenAPI: 2.5.0 Spring Boot: Я пробовал включить отладочное ведение журнала с помощью logging.level.org.springdoc=DEBUG, но не смог найти в журналах никакой полезной информации, объясняющей, почему это происходит.

Что может быть причиной этой проблемы? Есть ли известные ограничения или ошибки, или я что-то упускаю в своей конфигурации?

Буду очень признателен за любые идеи и предложения.

@RouterOperation(
path = "/api/hello",
operation = @Operation(
    security = @SecurityRequirement(name = UtilitiesConstant.OpenApiSecurityName),
    summary = "Get User by ID",
    description = "Fetch a user by their ID",
    operationId = "getHello",
    parameters = {
        @Parameter(
            name = "id",
            in = ParameterIn.QUERY,
            description = "User ID",
            required = true,
            schema = @Schema(type = "integer")
        )
    },
    responses = {
        @ApiResponse(responseCode = "200", description = "Successful operation"),
        @ApiResponse(responseCode = "404", description = "User not found")
    }
)
Галактион
Вопрос задан5 августа 2024 г.

1 Ответ

2
Виктор
Ответ получен10 сентября 2024 г.

Ваш ответ

Загрузить файл.