当前位置: 首页 > 知识库问答 >
问题:

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

杜晨朗
2023-03-14

我目前正在将我们的API文档(原来是Swagger1.5)迁移到Swagger2.0(OpenAPI3.0)

API文档是使用maven包swagger-annotationsswagger-jaxrs通过java注释生成的Swagger文档。我已经用新版本更新了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上自动生成。

问题是我找不到“新方法”来做这样的事情,比如创建一个BeanConfig和自动扫描资源,以便在/swagger.json/openapi.json生成所有内容(也许现在是Openapidefinition?)

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

共有1个答案

万知
2023-03-14

经过一些研究,我可以在他们的Github for JAX-RS应用程序中找到一些关于它的文档,因此结果与我所做的类似,但现在它不使用BeanConfig,而是使用OpenAPIInfo:

@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("apiteam@swagger.io"))
            .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);
        }

    }
}
 类似资料:
  • 问题内容: 我想知道是否有一个Java库充当Google Maps API的包装器。我感兴趣的是在桌面应用程序上显示特定区域(lon,lat)的卫星地图。不必特别是Google Maps,任何地图服务都可以解决问题。 不过,我需要的是一个可以与桌面客户端一起使用的库,没有javascript,GWT等。 有任何想法吗? 问题答案: 如果您只是想显示特定纬度的卫星地图图像(不进行google地图的平

  • 问题内容: 我正在尝试制作一个按钮,以便用户单击它时,按住鼠标按钮时它会更改其样式。如果在移动浏览器中触摸它,我也希望它以类似的方式更改其样式。对我来说,看似显而易见的事情是使用CSS:active伪类,但这没有用。我尝试了:focus,但是也没有用。我尝试:hover,它似乎起作用了,但是当我将手指从按钮上移开后,它仍然保持了样式。所有这些观察都是在iPhone 4和Droid 2上进行的。 有

  • 问题内容: 刚刚在玩CSS中的属性。 我想让所有鼠标事件都看不到,除了。 因此,所有单击命令都将转到其下一个,但div可以报告鼠标是否在其上方。 谁能告诉我是否可以做到? HTML: CSS: 问题答案: 我认为仅凭CSS不可能实现您的目标。但是,正如其他贡献者所提到的那样,在JQuery中做起来很容易。这是我的操作方法: 的HTML CSS(不变) jQuery查询

  • 问题内容: 场景 我正在用Java编写涉及汽车的程序。 注意:我已尽最大可能简化了此方案,以使其更加通用和易于理解。 我实际上不是在开车。 我创建了一个类,它是对象的集合。 该对象具有一个(double)和一个(int)。构造函数将年份作为参数,例如: 这是棘手的部分…汽车必须具有某种类型(比如说Corvette或Clunker)。克尔维特(克尔维特)的车子为and,Cl子(Clunker)的车子

  • 问题内容: 我正在尝试将ReactJS与JSX结合使用,以创建样式指南的概念证明。 我希望能够显示如何调用执行此操作的组件的原始html 。JSX忽略了我的 这就是我试图到目前为止显示HTML代码的HTML 我很惊讶地看到它渲染。 问题答案: 如果希望将该代码用作文字块,则需要使用JSX安全字符,因此,要么JSX转义所有内容,要么在 可能的地方使用HTML实体,然后仍然需要JSX转义大括号(因为这

  • 但是如果我从ClassUnderTest运行methodUnderTest: 它抛出了一个ClassWithStatic的真实实例,该实例在其实例Method中失败。