我的现有项目在Spring Framework上而不是Spring Boot上。
我想将Open API 3与之集成。
我想使用springdoc-openapi而不使用Jersey进行集成。
即使您的应用程序使用不带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 })