【发布时间】:2021-11-09 05:50:08
【问题描述】:
使用 Spring Boot 2.4.5 和 IntelliJ 2021.2。迁移后
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
到
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.10</version>
</dependency>
每次我访问http://localhost:8080/swagger-ui.html。页面说:
获取错误未定义 /v3/api-docs
当我检查日志时:
java.lang.IllegalStateException:为“/v3/api-docs”映射的不明确的处理程序方法:{public org.springframework.http.ResponseEntity springfox.documentation.oas.web.OpenApiControllerWebMvc.getDocumentation(java.lang.String, javax.servlet.http.HttpServletRequest),公共 java.lang.String org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(javax.servlet.http.HttpServletRequest,java.lang.String) 抛出 com.fasterxml.jackson.core。 JsonProcessingException} 在 org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:426) 在 org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:377) 在 org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:125) 在 org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:67) 在 org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:498) 在 org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1257) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
似乎有一个与 SpringFox 相同路径的重复处理程序方法,我将如何从 SpringFox 中删除该方法(它不再存在于我的 pom 文件中)?
【问题讨论】:
-
通过执行依赖分析来寻找 Springfox 依赖并摆脱它们。您似乎已经删除了
springfox-boot-starter,但据我回忆,Swagger-UI 应该有另一个 Springfox 依赖项
标签: spring-boot springfox springdoc