Swagger не распознает мою аннотацию OpenAPI

#java #kotlin #swagger #openapi #javalin

Вопрос:

Я пытаюсь создать SwaggerUI для своего API и хотел бы указать параметры пути для моего метода POST.

Мой код настроен следующим образом:

 app.routes {
    post("/cameras") { context -> postCamera(context) }
}

@OpenApi(
    summary = "Create Camera",
    operationId = "postCamera",
    tags = ["Camera"],
    formParams = [OpenApiFormParam("userId", String::class, true),
                  OpenApiFormParam("groupIds", List::class, true),
                  OpenApiFormParam("cameraName", String::class, true)],
    responses = [
        OpenApiResponse("200"),
        OpenApiResponse("400"),
        OpenApiResponse("409")
    ]
)
private fun postCamera(context: Context) {...}
 

Я пытался следовать информации, написанной здесь, но конечным результатом по-прежнему является метод публикации SwaggerUI по умолчанию как видно здесь

Что я делаю не так?

Ответ №1:

К сожалению, для моего здравомыслия, решение состояло в том, чтобы сделать недействительным мой кэш в IntelliJ. В моей кодовой базе не было никаких проблем.

Ответ №2:

Для меня это помогло указать path и method в аннотации обработчика контроллера.