java 如何使用springdoc-openapi-webflux-ui显示应用API文档?

ef1yzkbh  于 2023-03-28  发布在  Java
关注(0)|答案(1)|浏览(166)

我读了这个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-docs/swagger-config.在该页面,我得到一个错误:

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

fwzugrvs

fwzugrvs1#

默认情况下,您只需要添加springdoc-openapi-webflux-ui的依赖项。

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

你可以看看demos代码:

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

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

  • https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-webflux-auto-configuration

您有两种解决方案:
1.删除@EnableWebFlux
1.如果你真的想控制Bean的创建,并且你绝对想使用@EnableWebFlux,那么你需要添加WebFluxConfigurer的实现。
这一点已在此处讨论:

相关问题