升级Springfox到3.0.0后SwaggerConfig中Guava Predicates过时的解决办法
Springfox 3.0.0 中替代过时Guava Predicates的其他方案
除了你已经尝试的java.util.function.Predicate,还有以下几种可行方案:
使用Springfox PathSelectors自带的negate方法
这是最简洁的原生替代方式,PathSelectors.regex("/error.*")本身返回的就是Java原生Predicate<String>,直接调用negate()就能实现原有的"排除指定路径"逻辑,无需额外依赖:.paths(PathSelectors.regex("/error.*").negate())自定义Lambda表达式实现Predicate
用Java 8+的Lambda直接写过滤逻辑,灵活性拉满,适合需要复杂路径判断的场景:.paths(path -> !path.matches("/error.*"))保留Guava依赖(不推荐)
如果你非要继续用Guava的Predicates,可以引入新版Guava(30+版本)兼容,但Springfox 3已经逐步移除对Guava的强依赖,这种方式会增加冗余依赖,不建议长期使用:// 需确保项目中引入新版Guava依赖 .paths(com.google.common.base.Predicates.not(PathSelectors.regex("/error.*")))
额外提一句:Springfox 3.0.0开始支持OpenAPI 3规范,原代码中的@EnableSwagger2可以替换为@EnableOpenApi,这是官方更推荐的配置方式。
内容的提问来源于stack exchange,提问作者Satyam
相关产品推荐
相关产品推荐

