首页 > 其他分享 >swagger报错

swagger报错

时间:2024-04-06 19:33:04浏览次数:21  
标签:Predicate swagger apis 报错 外卖 springfox com

解决此错误:无法将apis(com.google.common.base.Predicate)应用于(java.util.function.Predicate)

在本篇博客中,我将分享我在完成黑马项目苍穹外卖导入knife4j依赖过程中遇到的报错。

通过这篇博客,希望能帮助到其他遇到相似问题的,并加深自对问题的理解解决能力

报错描述

apis(com.google.common.base.Predicate<springfox.documentation.RequestHandler>)’ in ‘springfox.documentation.spring.web.plugins.ApiSelectorBuilder’ cannot be applied to '(java.util.function.Predicate<springfox.documentation.RequestHandler>)

苍穹外卖提供的knife4j依赖如下:

<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>knife4j-spring-boot-starter</artifactId>
   <version>3.0.2</version>
</dependency>

配置类如下:

  @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("苍穹外卖项目接口文档")
                .version("2.0")
                .description("苍穹外卖项目接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

在进行调试时发现这个依赖并未生效,访问doc.hmtl为404,想着可能是版本依赖问题,所以将版本改为了3.0.3,进行编译时

apis(RequestHandlerSelectors.basePackage(“com.sky.controller”))出现报错,apis(com.google.common.base.Predicate<springfox.documentation.RequestHandler>)’ in ‘springfox.documentation.spring.web.plugins.ApiSelectorBuilder’ cannot be applied to '(java.util.function.Predicate<springfox.documentation.RequestHandler>)传入参数与需要类型不一致导致,于是进行类型强转发现也没有用,于是查看pom.xml文件,发现导入了swagger2依赖,经过查询发现不能混合Springfox 2.9.2和knife4j依赖 ->删除springfox启动程序,reload后成功启动。

<dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>

由于Knife4j 使用了 Java 8 函数库,而 springfox-swagger2 使用了 Guava 类库。在旧版本的 springfox-swagger2(例如2.9.2版本)中,RequestHandlerSelectors.basePackage方法期望传入com.google.common.base.Predicate<springfox.documentation.RequestHandler>而不是java.util.function.Predicate<springfox.documentation.RequestHandler>

通过以上方法,成功解决了这个报错,并顺进行了接口调试。希望这个经验可以对你有所帮助,如果有任何疑问或其他解决方法欢迎在评论中!

标签:Predicate,swagger,apis,报错,外卖,springfox,com
From: https://blog.csdn.net/m0_53561907/article/details/137429619

相关文章

  • (求助)SPSS、Matlab中非线性回归拟合报错-来自即将延毕研究生的苟延残喘
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1原函数形式2SPSS中输入式3Matlab代码及数据集3.1数据集3.2Matlab代码4求助目的1原函数形式原函数形式是这样的,建立多元非线性回归模型,求解参数2SPSS中输入式我的输入式是:0.24a*......
  • [报错纪录] IDEA进行远程开发时报错 Cannot run program "/usr/lib/jvm/jdk1.8.0_371/
    错误内容Cannotrunprogram"/usr/lib/jvm/jdk1.8.0_371/bin/java"(indirectory"/home/awang/.cache/JetBrains/RemoteDev-IU/_home_awang_code_spark/compile-server"):error=0,Failedtoexecspawnhelper:pid:10071,exitvalue:1解决方法打开Se......
  • java中发送https请求报错的问题记录
    问题1thetrustAnchorsparametermustbenon-emptyimportorg.apache.commons.io.IOUtils;importjavax.net.ssl.HttpsURLConnection;importjava.io.IOException;importjava.net.URL;publicclassTestHttps{publicstaticvoidmain(String[]args)throwsI......
  • mysql 报错 ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost 解
    mysql修改密码ALTERUSER‘root’@‘localhost’IDENTIFIEDBY‘123’;时,报错ERROR1396(HY000):OperationALTERUSERfailedforroot@localhost解决方案:2024-4-3段子手1681、首先连接权限数据库:mysql>usemysql;2、查看user主机名:mysql>selectuse......
  • 导入项目运行后,报错java: Cannot find JDK ‘XX‘ for module ‘XX‘
    解决方案:1、删除.idea和.iml文件2、右击此module,点击OpenModuleSettings在ModuleSDK中选择所安装的java版本后,点击右下角Apply3、再运行试试吧,成功!......
  • dask读取hdfs文件时报错connect hdfs error
    问题详情:/arrow/cpp/src/arrow/filesystem/hdfs.cc:51:Failedtodisconnecthdfsclient:IOError:HDFShdfsFS::Disconnectfailed,errno:9(Badfiledescriptor)Traceback(mostrecentcalllast):File"/home/tdops/fucheng.pan/ray-code/read.py",line......
  • pandas库运行时报错问题
    今天在学pandas库,发现我运行时报错了这是我的源代码:后来我去问了一下人工ai错误提示表明你的文件中包含了非UTF-8编码的字符序列,这可能是由于你的源代码文件不是以UTF-8编码保存的。Python3默认使用UTF-8编码,如果你的代码文件使用了不同的编码,就会在执行时遇到这个问......
  • Stable diffusion 加载扩展列表报错解决方法
    项目场景:在使用Stablediffusionwebui时,使用扩展列表出现错误问题描述点击loadfrom后,出现加载扩展列表报错原因分析:下载的扩展的时候,都是github的url,需要科学上网,如果不能科学上网那就需要更改相关地址。解决方案:打开ui_extensions.py文件将下图红框中的地址......
  • [ERROR] [Entrypoint]: Unable to start server 记录一次-docker-运行mysql-报错
    环境说明linux系统版本:lsb_release-a  docker版本:docker-v 不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。  mysql版本:5.7  .1.问题复现。使用命令启动mysql服务 dockerrun--name=mysql-it\-p3306:3308\-eMYSQL......
  • MySQL数据库报错:ERROR 1524 (HY000): Plugin ‘auth_socket‘ is not loaded
    在安装或配置MySQL数据库过程中,用户可能会遇到各种错误,这些错误有时候会让人感到不解。为了帮助你克服这些挑战,本文将深入讨论MySQL安装过程中可能遇到的一个特定错误,提供详细的背景信息、可能的原因以及如何解决这个问题的步骤。错误描述在MySQL的安装或初始化数据库的过......