@Bean .API方法给了我下面的错误。我已经像往常一样用@ Bean添加了Swagger配置类。
The method apis(java.util.function.Predicate<springfox.documentation.RequestHandler>) in the type ApiSelectorBuilder is not applicable for the arguments (com.google.common.base.Predicate<springfox.documentation.RequestHandler>)
字符串
我的配置类如下:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SpringFoxConfig extends WebMvcConfigurationSupport {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage(
"package com.sample.controller;"))
.paths(PathSelectors.any())
.build();
}
}
型
7条答案
按热度按时间fbcarpbf1#
字符串
我尝试了这些依赖项,错误确实消失了。
kzipqqlq2#
删除以下依赖项:
字符串
使用以下内容:
型
yb3bgrhw3#
如果同时添加“springfox-boot-starter”和“springfox-swagger-ui”依赖项,并且它们的版本不同,则会发生此错误。
请注意,如果您正在添加“springfox-boot-starter”,则不需要添加显式的“springfox-swagger-ui”依赖项。
所以只要添加下面的并删除任何“springfox-swagger-ui”依赖项。
字符串
ve7v8dk24#
对于那些已经拥有正确依赖关系的人:
字符串
如果您还没有
@EnabledWebMvc
,则可能需要添加它。Springfox文档:
的数据
kfgdxczn5#
删除
package
和;
插件,为.apis()
定义basePackage
字符串
而且你的基本包好像是
com.sample
,那就用那个吧。完整代码:
型
使用依赖项
型
hs1ihplo6#
检查外部库中所有io.springfox:springfox-* jar的版本。肯定有多个版本混淆了。如果你使用的是springfox-boot-started:3.0.0,那么通过exclusion排除其他版本。你不需要任何其他springfox依赖项。下面为我修复了这个问题-
字符串
fivyi3re7#
在我的例子中,这个错误是因为我的spring fox依赖的版本不同而发生的。修复版本帮助我解决了这个错误。下面的依赖对我来说很好。
字符串