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

标签 java spring swagger-ui openapi springdoc

我现有的项目位于Spring Framework而非Spring Boot上。

我想将Open API 3与之集成。

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

最佳答案

使用springdoc-openapi-ui 1.5.2的spring-mvc(5.3.1)的ui加载看起来更简单:
build.gradle(gradle版本6.5)

implementation 'org.springdoc:springdoc-openapi-ui:1.5.2'
依赖项部分没有明确需要spring-boot-autoconfigure和spring-boot,因为org.springdoc:springdoc-openapi-ui:1.5.2已经拥有了两者(版本2.4.0)。
您会惊讶于最终应用程序中将添加多少以及哪些依赖项。
OpenApiConfig.java
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"org.springdoc"})
@Import({org.springdoc.core.SpringDocConfiguration.class,
         org.springdoc.webmvc.core.SpringDocWebMvcConfiguration.class,
         org.springdoc.webmvc.ui.SwaggerConfig.class,
         org.springdoc.core.SwaggerUiConfigProperties.class,
         org.springdoc.core.SwaggerUiOAuthProperties.class,
         org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.class})

class OpenApiConfig implements WebMvcConfigurer {
}
组件扫描应涵盖OpenApiConfig软件包。
如果使用Spring Security,则可以添加两个URL模式,并在代码中定义OpenAPI页面访问的角色。
<security:intercept-url pattern="/swagger*/**" access="ROLE_DEVELOPER"/>
<security:intercept-url pattern="/v3/api-docs" access="ROLE_DEVELOPER"/>
要检查的网址:
http://localhost:8080/your_context_path/swagger-ui.html
http://localhost:8080/your_context_path/v3/api-docs

关于java - 如何使用springdoc-openapi将Open API 3与Spring项目(而非Spring Boot)集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871209/

相关文章:

java - 如果日期无效,Spring mvc Joda Datetime 转换器将失败

java - 从一个 Bean 创建两个 JPA 表?

c# - Swagger 无法在自托管的 ServiceStack 服务上工作

java - 返回一个包含 CompletableFuture 列表的 CompletableFuture

asp.net-core - 外部文档包中的模型显示在庞大的文档中

java - 在 Springfox 和 Spring MVC 中配置安全模式和上下文

java - 将字节拆分为位

java - Autowiring 不适用于@RestController

java - 当你在一个方法中有最终值和内部类时究竟会发生什么?

java - 自定义 SharedPreferences 类