Abd*_*ran 6 swagger-ui spring-boot spring-webflux springdoc springdoc-openapi-ui
我的 springboot webflux 应用程序正在运行,我能够通过 url 访问 swagger ui:
http://localhost:8080/webjars/swagger-ui/index.html。
注意:对于我来说,Tomcat 使用端口初始化:8080 (http)
POM 包含以下依赖项
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-ui</artifactId>
<version>1.6.13</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的主要java类如下
@OpenAPIDefinition(info = @Info(title = "APIs", version = "1.0", description = "Documentation OHM APIs v1.0"))
public class ReactiveApplication {
public static void main(String[] args) {
SpringApplication.run(ReactiveApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
突然之间,我无法再在之前工作的同一网址上访问 webflux swagger。
出现以下错误:
2023-01-05 13:49:36,906 WARN [http-nio-8080-exec-9] o.s.web.servlet.PageNotFound.noHandlerFound: No mapping for GET /webjars/swagger-ui/index.html
2023-01-05 13:49:36,907 WARN [http-nio-8080-exec-9] o.s.web.servlet.PageNotFound.handleNoHandlerFoundException: No handler found for GET /webjars/swagger-ui/index.html
2023-01-05 13:49:36,907 WARN [http-nio-8080-exec-9] o.s.w.s.m.s.DefaultHandlerExceptionResolver.logException: Resolved [org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /webjars/swagger-ui/index.html]
Run Code Online (Sandbox Code Playgroud)
谁能帮助我了解现在该怎么做。默认情况下可以在哪个路径访问webflux swagger?
我还尝试了以下网址来访问 swagger 但没有成功。
http://localhost:8080/swagger-ui.html
http://localhost:8080/swagger-ui
我得到了解决方案。问题在于 springboot starter 和 swagger 的依赖组合运行良好。
用于与 springboot 进行 swagger 集成
如果我们使用低于 3 的 SpringBoot 版本,则 springdoc 1.6.14/1.6.13 效果很好。所以我们需要为 swagger 添加以下两个依赖
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-ui</artifactId>
<version>1.6.14</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-core</artifactId>
<version>1.6.14</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
如果我们使用 SpringBoot 版本 3 或 3 以上,则 springdoc-openapi V2 效果很好。对于 swagger,我们需要添加以下一个依赖项
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
<version>2.0.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4367 次 |
| 最近记录: |