Swagger 2.0 (OpenApi 3.0) 中的 BeanConfig (或类似的?)

2023-11-25

我目前正在将我们的 API 文档(Swagger 1.5)迁移到 Swagger 2.0(OpenApi 3.0)

API 文档是 Swagger 文档,它是使用 maven 包通过 java 注释生成的swagger-annotations and swagger-jaxrs。我已经用新版本更新了 pom.xml,所以它看起来像:

        <dependency>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>2.0.6</version>
        </dependency>
        <dependency>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-jaxrs2</artifactId>
            <version>2.0.6</version>
        </dependency>

而且所有旧的注释都被新的注释所取代(变化很大)并且看起来不错。

问题是我们使用的是BeanConfig定义文档常规配置并自动扫描所有 REST 资源,以便自动生成文档/swagger.json.

The problem是我找不到执行诸如创建 BeanConfig 并自动扫描资源之类的“新方法”,以便在以下位置生成所有内容/swagger.json or /openapi.json(也许现在是类似 OpenAPIDefinition 的东西?)

如果有人能指出我正确的方向,我将非常感激......


经过一番研究,我可以在他们的网站中找到一些有关它的文档Github对于 JAX-RS 应用程序,所以结果与我所做的类似,但现在不是使用BeanConfig, 它用OpenAPI and Info:

@ApplicationPath("/sample")
public class MyApplication extends Application {

    public MyApplication(@Context ServletConfig servletConfig) {
        super();
        OpenAPI oas = new OpenAPI();
        Info info = new Info()
            .title("Swagger Sample App bootstrap code")
            .description("This is a sample server Petstore server.  You can find out more about Swagger " +
                    "at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, " +
                    "you can use the api key `special-key` to test the authorization filters.")
            .termsOfService("http://swagger.io/terms/")
            .contact(new Contact()
                    .email("[email protected]"))
            .license(new License()
                    .name("Apache 2.0")
                    .url("http://www.apache.org/licenses/LICENSE-2.0.html"));

        oas.info(info);
        SwaggerConfiguration oasConfig = new SwaggerConfiguration()
            .openAPI(oas)
            .prettyPrint(true)
            .resourcePackages(Stream.of("io.swagger.sample.resource").collect(Collectors.toSet()));

        try {
            new JaxrsOpenApiContextBuilder()
                .servletConfig(servletConfig)
                .application(this)
                .openApiConfiguration(oasConfig)
                .buildContext(true);
        } catch (OpenApiConfigurationException e) {
            throw new RuntimeException(e.getMessage(), e);
        }

    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swagger 2.0 (OpenApi 3.0) 中的 BeanConfig (或类似的?) 的相关文章

随机推荐

  • Facebook 应用程序适用于所有浏览器,但不适用于 IE8

    我正在开发一个 Facebook 应用程序 Stragnly 该应用程序在大多数浏览器上运行良好 我在 FF chrome 和 safari 上测试过它 并且在所有浏览器上运行良好 然而 当我在 IE8 上测试时 在尝试对其中一个页面进行
  • 如何获取字符串形式的 JsonCPP 值?

    我正在使用解析 json 数据JsonCpp 我真的不需要理解数据 我只需要打印出一些属性及其值 这在某种程度上很难做到 首先我需要知道该值是什么类型 然后获取该值 然后再次将其转换为字符串 有一个样式编写器 但我不想使用它 因为它在末尾附
  • WebView 到 SizedBox Flutter

    我想将自定义 webview 添加到 flutter 中的 sizedBox 中 我尝试这样做 但出现错误 code override Widget build BuildContext context SystemChrome setEn
  • 棒棒糖上完全透明的状态栏和导航栏

    我正在尝试制作一个安卓启动器 我想实现一个完全透明的状态栏和导航栏 这是我的主题xml文件
  • 当我提前不知道服务器名称和端口时,如何在企业环境中设置 grails.serverURL?

    我们有一个 Grails 2 0 中的应用程序 当我们运行时我们可以使用它localhost 8080 In Config groovy 该应用程序有一个grails serverURL必须为当前主机和当前应用程序名称设置的属性 然而 在我
  • 更改 tomcat 的 catalina.pid 位置

    catalina pid 不在应有的 tomcat bin 文件夹中 并且在 tomcat 启动期间也没有在该文件夹中创建它 问题是我如何 在哪里 重新定义 catalina pid 的路径以强制它在正确的文件夹中创建 提前致谢 根据 to
  • 更改 R 中的临时目录[重复]

    这个问题在这里已经有答案了 我正在使用 Windows 虚拟机 并且在其上安装了 R 和 RStudio 并且我正在尝试更改 R 写入临时文件的目录 当我启动 R 时 我尝试更改临时目录 然后关闭 R 当我重新启动 R 并尝试tempdir
  • 如何在 .Net 中创建 Ntlm Type 1 和 Type 3 消息

    我需要为 NTLM 握手创建类型 1 消息和类型 3 消息 是否有任何 Net API 可以实现这一点 本质上 该应用程序是基于 WPF 的 但使用 Socket 来从服务器传输数据 使用套接字是一项技术要求 但问题是当用户需要使用代理服务
  • Android,删除我的数据目录中的文件?

    我的应用程序在应用程序的数据目录中存储了运行所需的一些文件 data data com example myapp files filehere file 当我的应用程序从市场更新时 清除数据目录中的文件并将它们更新为刚刚下载的新包中的最新
  • CoordinatorLayout 搞乱了 setError 弹出位置

    我面临一个问题EditText setError弹出位置 我使用以下代码来创建布局 活动配置文件 xml
  • >> 和 << 运算符重载

    我刚刚为我的编程课做了一个测验 并答错了这个问题 函数的返回类型 使运算符超载 lt lt 必须是一个 对 ostream 对象的引用 这对我来说似乎根本不对 当然 C 比这更开放 但我想我还是会在这里问 这如何是对的 或错的 当涉及到运算
  • 迭代数组中未定义的方法

    我最近发现 map不迭代未定义的由有洞数组创建 其各个索引已定义的数组 但有些未定义 Holed var array array 0 1 array 2 3 array gt 1 undefined 3 Not Holed var arra
  • 在Python中导入包

    我可能错过了一些明显的东西 但无论如何 当你导入像这样的包时os在 Python 中 您可以立即使用任何子模块 子包 例如这有效 gt gt gt import os gt gt gt os path abspath 但是 我有自己的包 其
  • Three.js 第一人称控件

    我正在使用 Three js 和 WebGL 但无法完全按照我想要的方式获得控件 我选择尝试 滚动我自己的 控件 因为 Three js 的 FirstPersonControls 不使用指针锁 无论如何 我从内置的 FirstPerson
  • 是否有任何 std::set 实现不使用红黑树?

    有没有人见过 STL 的实现 其中 stl set 是not作为红黑树实现 我问的原因是 在我的实验中 B 树的表现优于std set 以及其他红黑树实现 的系数为 2 到 4 具体取决于 B 的值 我很好奇 当似乎有更快的数据结构可用时
  • JavaScript 中的“...”(3 个点)是什么?

    我从那里了解到这件事这个帖子 function StoreMixin stores what is var Mixin getInitialState return this getStateFromStores this props co
  • 主干验证不起作用[重复]

    这个问题在这里已经有答案了 我刚刚开始骨干Js 我用VisualStudio2012做了一个简单的例子 我加了骨干 在我的 main js 中 var Person Backbone Model extend defaults name M
  • Visual Studio 2008 Xaml 编辑器不工作/消失

    当我启动 VS 2008 来处理 WPF Silverlight 应用程序并打开 XAML 或 XML 文件时 XAML XML 编辑器不再工作 设计者不出现 智能感知不可用 它基本上看起来就像一个文本文件已被打开 尝试运行以下命令 Pro
  • 为什么 VS2010 调试器没有在我的断点处停止?

    我正在 VS2010 中开发一个 C NET 类库项目 在我的项目设置 gt 调试设置中 我将项目设置为启动外部程序 C Windows SysWOW64 wscript exe 该程序运行一个非常简单的 jscript 文件 test j
  • Swagger 2.0 (OpenApi 3.0) 中的 BeanConfig (或类似的?)

    我目前正在将我们的 API 文档 Swagger 1 5 迁移到 Swagger 2 0 OpenApi 3 0 API 文档是 Swagger 文档 它是使用 maven 包通过 java 注释生成的swagger annotations