0


全网多种方式解决Knife4j文档请求异常

文章目录

1. 复现问题

今天在本地启动项目后,刷新

Knife4j

接口文档,却报出如下错误:

在这里插入图片描述

Knife4j文档请求异常

2. 分析问题

报出

Knife4j文档请求异常

错误时,赶紧打开控制台,如下图所示:

在这里插入图片描述

控制台提示为

Unchecked runtime.lastError: The message port closed before a response was received.

简单理解就是

端口号关闭

了,于是查看后端的端口是否关闭:

在这里插入图片描述

后端哪里出现了问题呢?百思不得其解。

正赶上最近

ChatGPT

很火,于是借助

chatGPT

来解决我的问题,如下图所示:

在这里插入图片描述

因为是我本地启动的项目,可以排除请求超时的问题。

接下来使用

postman

来测试登录接口,如下图所示:

在这里插入图片描述

从上图可以看出来,服务器不存在无响应的问题。

因为引入的是

Knife4j

jar

包,不需要写控制器的代码,但需要进行配置。

于是,查看我的

Knife4j

的配置是否有问题,如下代码所示:

publicclassKnife4jConfiguration{privateOpenApiExtensionResolver openApiExtensionResolver;@AutowiredpublicKnife4jConfiguration(OpenApiExtensionResolver openApiExtensionResolver){this.openApiExtensionResolver = openApiExtensionResolver;}@Bean(value ="dockerBean")publicDocketdockerBean(){Docket docket =newDocket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())// 分组名称.groupName("测试服务").select()// 这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.cloud.test.controller")).paths(PathSelectors.any()).build().extensions(openApiExtensionResolver.buildSettingExtensions());// 指定使用Swagger2规范return docket;}privateApiInfoapiInfo(){returnnewApiInfoBuilder()// 描述字段支持Markdown语法.description("测试Knife4j").termsOfServiceUrl(“127.0.0.1”).contact(newContact("test","无","无")).version("1.0").build();}}

蓦然发现,我没有添加

@Configuration

,才导致

Knife4j文档请求异常

3. 解决问题

既然没有添加

@Configuration

,那就按如下方式添加即可:

@ConfigurationpublicclassKnife4jConfiguration{privateOpenApiExtensionResolver openApiExtensionResolver;//此处省略上述代码相同的部分......}

如果上述方法,无法解决你的问题,可以参考以下几种方法。

4. 其他方法解决此异常

  1. 代码中没有添加@EnableSwagger2WebMvc

如果你引入的

Knife4j

jar

包较低,同时,还需要添加

@EnableSwagger2WebMvc

注解,如下代码所示:

@Configuration@EnableSwagger2WebMvcpublicclassKnife4jConfiguration{privateOpenApiExtensionResolver openApiExtensionResolver;//此处省略上述代码相同的部分......}
  1. 项目没有正式启动

一般情况,我们启动

java

项目时,相对来说比较耗时。

也就是说,你在刚启动项目,就去方法

Knife4j

接口请求文档,也会报出这个错误。

5. 其他说明

  1. 如果你对Knife4j比较感兴趣,可以参考这篇博文:全网最全的Knife4j swaggerj介绍
标签: java spring 后端

本文转载自: https://blog.csdn.net/lvoelife/article/details/129057354
版权归原作者 互联网全栈开发实战 所有, 如有侵权,请联系我们删除。

“全网多种方式解决Knife4j文档请求异常”的评论:

还没有评论