使用SpringBoot2.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
当我检查日志时:
springfox.documentation.oas.web.OpenApiControllerWebMvc.getDocumentation(java.lang.String,java.lang.IllegalStateException:映射到‘/v3/api-docs’的模棱两可的处理程序方法:{public org.springframework.http.ResponseEntity java.lang.IllegalStateException javax.servlet.http.HttpServletRequest),public java.lang.String java.lang.IllegalStateException把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(( org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1257) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) )
似乎有一个来自SpringFox的具有相同路径的重复处理程序方法,我将如何从SpringFox中删除这个处理程序(它在我的pom文件中不再存在)?
发布于 2022-02-17 12:56:30
移除挥霍无度的依赖项,即springfox依赖项。仅添加openapi依赖项就足够了。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.6</version>
</dependency>
发布于 2021-09-14 20:25:39
您还有这两种依赖关系吗?我也有同样的问题,除了网络流量。经过一番挖掘,我发现了以下几点:
这两个类都为“/v3/api”映射创建处理程序。正如springdoc文档所警告的那样,它们是不兼容的:
https://springdoc.org/#differentiation-to-springfox-project
11.35。分化到Springfox项目
是非常缺乏支持的。
11.36。如何使用springdoc迁移到OpenAPI 3?
springdoc与您想要迁移到springfox
springdoc.swagger-ui.path=/you-path/swagger-ui.html
发布于 2022-11-28 15:29:43
您可以这样做:springdoc-openapi-ui
+ springfox-swagger2
,而不是springfox-boot-starter
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
https://stackoverflow.com/questions/69171098
复制相似问题