15

我读了这个https://springdoc.org/demos.html来使用 springdoc-openapi-webflux-ui。正如文档所说,我刚刚将springdoc-openapi-webflux-ui库添加到我的应用程序中:implementation('org.springdoc:springdoc-openapi-webflux-ui:1.2.26')

此外,我在 application.yml 中自定义了 API 的路径:

springdoc:
  swagger-ui:
    path: /swagger-ui.html

当我启动应用程序并转到 http://localhost:8080/swagger-ui.html 时,它会将我重定向到 http://localhost:8080/webjars/swagger-ui/index.html?configUrl=/v3/api -文档/招摇配置。在那个页面中,我收到了一个错误:

Whitelabel Error Page
This application has no configured error view, so you are seeing this as a fallback.
Mon Jan 20 05:16:10 UTC 2020
[7192d9dc] There was an unexpected error (type=Not Found, status=404).
No matching handler

问题是:我应该向我的应用程序添加其他配置以显示 API 文档吗?

PS:我使用 spring.boot 2.2.2:RELEASE

4

1 回答 1

3

默认只需要添加springdoc-openapi-webflux-ui的依赖即可。

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

您可以查看演示代码:

您可以检查您的类路径,并尝试从 IDE 外部运行应用程序。根据您的构建工具,确保您的 IDE 设置正确:

另外,请检查您是否使用@EnableWebFlux。

如 Spring Boot 参考文档中所述,当您使用 @EnableWebFlux 时,您告诉 Spring Boot 您希望完全控制 WebFlux 配置并为此禁用所有自动配置(包括静态资源):

你有两个解决方案:

  1. 删除 @EnableWebFlux
  2. 如果你真的想控制 Bean 创建并且绝对想使用 @EnableWebFlux,那么你需要添加 WebFluxConfigurer 的实现。

这已经在这里讨论过:

于 2020-01-23T14:39:20.653 回答