带Play Framework 2.6(Java)的Swagger 2.0(开放式Api 3.0)

带Play Framework 2.6(Java)的Swagger 2.0(开放式Api 3.0),java,playframework,swagger,openapi,Java,Playframework,Swagger,Openapi,有一个插件,它表示支持Swagger 2.0,但实际上它使用的是,而不是2.0,因此,不支持OpenAPI3.0 是否有人使用代码优先接口声明将OpenAPI3与Play框架连接起来 我试图将显式的swagger核心依赖项声明为 "io.swagger.core.v3" % "swagger-core" % "2.0.5" 但没有成功,即我在初始化插件时出错: [error] 1) Error injecting constructor, java.lang.NoClassDefFoundEr

有一个插件,它表示支持Swagger 2.0,但实际上它使用的是,而不是2.0,因此,不支持OpenAPI3.0

是否有人使用代码优先接口声明将OpenAPI3与Play框架连接起来

我试图将显式的swagger核心依赖项声明为

"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
[error]1)注入构造函数java.lang.NoClassDefFoundError时出错:无法初始化类io.swagger.converter.ModelConverters
[错误]在播放中.modules.swagger.SwaggerPluginImpl.(SwaggerPlugin.scala:35)
定位play.modules.swagger.SwaggerPluginImpl时发生[错误]
[错误]正在播放.modules.swagger.SwaggerModule.bindings(SwaggerModule.scala:11):
[错误]绑定(接口play.modules.swagger.SwaggerPlugin到ConstructionTarget(类play.modules.swagger.SwaggerPluginImpl)(通过模块:com.google.inject.util.modules$OverrideModule->play.api.inject.guice.GuiceableModuleConversions$$anon$1)
定位play.modules.swagger.swagger插件时发生[错误]

根据这一点,似乎在不久的将来不会计划在swagger play中支持OpenAPI 3.0

另一种解决方案是。中也提到了对该备选api的引用,但使用该备选api,您可以在playRoute文件中以JSON或YAML的形式将OpenAPI 3.0规范指定为注释,而不是控制器中的注释

或者,规范可以在单独的JSON/YAML文件中维护(使用),并可以通过或其他支持查看器的开放API规范查看/公开