如何使用springdoc-openapi将Open API 3与Spring项目(不是Spring Boot)集成

问题描述 投票:0回答:1

我的现有项目在Spring Framework上而不是Spring Boot上。

我想将Open API 3与之集成。

我想使用springdoc-openapi而不使用Jersey进行集成。

java spring swagger-ui openapi springdoc
1个回答
0
投票

即使您的应用程序使用不带spring-boot的spring,它也应该可以工作。您需要添加在spring-boot中本地提供的bean和依赖项自动配置。

主要,您需要添加springdoc-openapi模块并扫描spring-boot为您自动加载的springdoc自动配置类。根据模块的不同,您可以在文件中找到它们:每个springdoc-openapi模块的spring.factories。

例如,假设您要在spring-mvc应用程序中加载swagger-ui,并且您正在使用spring.version = 5.1.12.RELEASE,然后您

您可以添加以下依赖项:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.2.28</version>
</dependency>

如果没有spring-boot和spring-boot-autoconfigure依赖项,则需要添加它们。并注意spring.verion和spring-boot.version之间的兼容性矩阵。例如,在这种情况下(spring.version = 5.1.12.RELEASE):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot</artifactId>
    <version>2.1.11.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-autoconfigure</artifactId>
    <version>2.1.11.RELEASE</version>
</dependency>

在这种情况下,由于我们要为spring-mvc加载ui,因此您需要在其中一个配置类中添加以下内容:

@Import({ org.springdoc.core.SpringDocConfiguration.class, org.springdoc.core.SpringDocWebMvcConfiguration.class,
        org.springdoc.ui.SwaggerConfig.class, org.springdoc.core.SwaggerUiConfigProperties.class,
        org.springdoc.core.SwaggerUiOAuthProperties.class,
        org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.class })
© www.soinside.com 2019 - 2024. All rights reserved.