昂首阔步。 "No handler found" 错误(未注入 SimpleUrlHandlerMapping)

Swagger. "No handler found" error (SimpleUrlHandlerMapping not injected)

当我尝试访问 Swagger UI 页面 (.../service-name/swagger-ui.html) 时,我收到 No handler found for GET ... 错误。

我做了一些研究,发现 SimpleUrlHandlerMapping bean,它是 required 的 swagger 页面工作不是由 Spring 创建的。这是 正确 工作服务的示例,断点位于 BeanFactoryUtils.java:378

这里是我的应用程序 实际 行为的示例,其中未创建所需的 bean:

这两个应用使用相同的spring和swagger版本,而且swagger配置完全相似。你能帮我找出为什么会这样吗?这里奇怪的部分是,即使我将我的分支重置为我 100% 确定 swagger-ui 工作的日期,我仍然收到此错误,可能是一些内部 Spring 缓存参与其中?

提前致谢!

我找到了答案 here。我的应用程序有两个基于 WebMvcConfigurerWebMvcConfigurationSupport 的配置,这在上下文创建期间导致了一些问题。这里的解决方案是你只需要使用一种类型的配置