我阅读了https://springdoc.github.io/springdoc-openapi-demos/文档以使用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
最佳答案
默认情况下,您只需要添加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配置并为此禁用所有自动配置(包括静态资源):
您有两种解决方案:
这里已经讨论过了: