Swagger 2.0 (Open Api 3.0) с Play Framework 2.6 (Java)

Существует плагин swagger, который говорит о поддержке Swagger 2.0, однако на самом деле он использует аннотации чванства 1.5.x, а не 2.0, поэтому не поддерживает Open Api 3.0.

Кому-нибудь удалось связать Open Api 3 с Play Framework с помощью объявления интерфейса с первым кодом?

Я попытался объявить явную зависимость от swagger-core как

"io.swagger.core.v3" % "swagger-core" % "2.0.5"

но безуспешно, т.е. получаю ошибки при инициализации плагина:

[error] 1) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class io.swagger.converter.ModelConverters
[error]   at play.modules.swagger.SwaggerPluginImpl.<init>(SwaggerPlugin.scala:35)
[error]   while locating play.modules.swagger.SwaggerPluginImpl
[error]   at play.modules.swagger.SwaggerModule.bindings(SwaggerModule.scala:11):
[error] Binding(interface play.modules.swagger.SwaggerPlugin to ConstructionTarget(class play.modules.swagger.SwaggerPluginImpl) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
[error]   while locating play.modules.swagger.SwaggerPlugin
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
1 947
1

Ответы 1

Похоже, что поддержка Open API 3.0 в чванстве не планируется в ближайшем будущем, согласно этому - Поддержка Swagger / OpenAPI 3.0?.

Альтернативным решением для этого может быть iheartradio / play-swagger. Ссылка на эту альтернативу также упоминается в swagger. Но с этим альтернативным api вы можете указать спецификации Open API 3.0 как Комментарии в форме JSON или YAML внутри вашего play Маршрут файла, а не как аннотацию в контроллере.

В качестве альтернативы спецификации могут быть сохранены (с использованием чванливый редактор) в отдельном файле JSON / YAML и могут быть просмотрены / представлены с помощью swagger или другого средства просмотра, поддерживающего спецификации Open API, такого как OpenAPI-GUI.

Другие вопросы по теме