## Pom引入 SpringBooot3.4的版本

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

  

## 通常来说Knife4j文档请求异常是没有放通权限和资源导向,通过网上说的加了注册器放通

/**
* @author f2bpm@f2bpm.com
* @version 创建时间:2019年8月23日 下午6:14:59 可以扩展SpringMVC的功能
*/
@Configuration
// public class WebConfig extends WebMvcConfigurationSupport
public class WebConfig implements WebMvcConfigurer { @Bean
public AuthenticationInterceptor authenticationInterceptor() {
return new AuthenticationInterceptor();
}
/**
* 拦截器验证登录身份
*
* @param registry
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 拦截所有请求,但排除这些:excludePathPatterns
registry.addInterceptor(authenticationInterceptor()).addPathPatterns("/**").excludePathPatterns("/resources/**").excludePathPatterns("/static/**")
.excludePathPatterns("/api/cloud/upload")
.excludePathPatterns("/v2/**").excludePathPatterns("/swagger-ui/**").excludePathPatterns("/swagger*/**").excludePathPatterns("/doc.html").excludePathPatterns("*.html").excludePathPatterns("*.js").excludePathPatterns("*.css").excludePathPatterns("/webjars/**")
.excludePathPatterns("/favicon.ico").excludePathPatterns("/ureport/**")
.excludePathPatterns("/resources/**").excludePathPatterns("/error/**").excludePathPatterns("/workflow/public/**").excludePathPatterns("/error").excludePathPatterns("/login/**");
} /**
* 添加特殊的访问路由映射资源到webjars
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("classpath:/resources/");
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

F12依然报错如下图:

## 报http://127.0.0.1:18090/v3/api-docs/swagger-config 500错误

## 后端报错:Knife4j SpringBooot3.4 No converter for [class java.util.LinkedHashMap] with preset Content-Type 'text/html;charset=UTF-8'

找遍全网,没能解决,好吧,只能尝试从了的源代码调试了。

通过跟踪报错的代码位置:

最后下载官网的示例代码跟踪发现:

官网:https://doc.xiaominfo.com/docs/quick-start 代码:knife4j-spring-boot3-demo

在同一位置对比排查,官网的的执行是正常的。

检查各种配置都没有问题。

官网的代码输入这个的是,显然它是一个Html内容的输出。

通过自己的代码工程和官方的代码工程Debug到org.springframework:Spring-webmvc这个AsyncTaskMethodReturnValueHandler.class

发现问题所在了:在EncodingFilter过滤器filter中response的contenttype是

"text/html;charset=UTF-8"

把这行删除或修改为"application/json;charset=UTF-8"即可。

然后问题解决,如下图:

SpringBooot3.4集成Swagger knife4j-openapi3 Knife4j文档请求异常的更多相关文章

  1. Spring Boot 集成 Swagger 生成 RESTful API 文档

    原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...

  2. springboot 集成 swagger 自动生成API文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...

  3. Spring Boot 集成 Swagger,生成接口文档就这么简单!

    之前的文章介绍了<推荐一款接口 API 设计神器!>,今天栈长给大家介绍下如何与优秀的 Spring Boot 框架进行集成,简直不能太简单. 你所需具备的基础 告诉你,Spring Bo ...

  4. .net core 使用swagger自动生成接口文档

     前言 swagger是一个api文档自动生动工具,还集成了在线调试. 可以为项目自动生成接口文档, 非常的方便快捷 Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.N ...

  5. golang学习笔记7 使用beego swagger 实现API自动化文档

    golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...

  6. go实践之swagger自动生成api文档

    文章目录 go实践之swagger自动生成api文档 1.安装需要用到的包 2.接口代码支持swagger 3. 生成swagger接口 go实践之swagger自动生成api文档 作为一个后端开发, ...

  7. spring boot使用swagger生成api接口文档

    前言 在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档 具体可以查看本站spring boot ...

  8. Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 (转)

    http://www.68idc.cn/help/makewebs/qitaasks/20160621620667.html 两种方案 一.Swagger 配置 web Api 接口文档美化 二.通过 ...

  9. 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档.

  10. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

随机推荐

  1. 【Linux】1.1 Linux课程介绍

    Linux课程介绍 1. 学习方向 linux运维工程师: 维护linux的服务器(一般大型企业) linux嵌入式工程师: linux做驱动开发,或者linux的嵌入式 linux下开发项目 2. ...

  2. C# Socket 使用教程

    我在学习Socket时,总是感觉文章看不懂,视频又好长,所以留下这篇学习笔记,权当做同学间学习参考,与个人回顾吧. 简介 Socket(译做:管道/套接字)是一个便捷的类 用于封装通信时所涉及到复杂底 ...

  3. Oracle SQL%ROWCOUNT

    SQL%ROWCOUNT 用于记录受影响的行数, 必须紧跟在一个新增/修改/删除类语句后. 当执行多条修改语句时, 按照 sql%rowcount 之前执行的最后一条语句受影响行数为准. 应用场景 可 ...

  4. Golang解决fatal error: all goroutines are asleep - deadlock!

    今天进行一个协程操作demo时总是报错 //workerpool.go package main import ( "fmt" "time" ) //工作线程 ...

  5. Laravel配置Route调用artisan

    //web调用artisan Route::get('/artisan', function(\Illuminate\Http\Request $request) { $all = \Illumina ...

  6. github项目收集

    web模块 Nginx 监控模块vts: https://github.com/vozlt/nginx-module-vts

  7. 经典常用SQL查询语句和常见问题

    一.基础 1.常用sql: ------------------------ // mysql改root密码 mysqladmin -u用户名 -p旧密码 password 新密码 # ---more ...

  8. EF Core Demo1——初识DbContext

    EF中的上下文(DbContext)简介   DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用: 1.DbContext包含所有的实体映射到数据库表的实体集 ...

  9. Python 潮流周刊#99:如何在生产环境中运行 Python?(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  10. Spring基于注解的AOP事务控制

    Spring基于注解的AOP事务控制 源码 代码测试 pom.xml <?xml version="1.0" encoding="UTF-8"?> ...