## 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. 【JVM之内存与垃圾回收篇】垃圾回收概述

    垃圾回收概述 概念 这次我们主要关注的是黄色部分,内存的分配与回收 垃圾收集 垃圾收集,不是 Java 语言的伴生产物.早在 1960 年,第一门开始使用内存动态分配和垃圾收集技术的 Lisp 语言诞 ...

  2. golang的条件编译

    写c/c++或者rust的开发者应该对条件编译不陌生,条件编译顾名思义就是在编译时让代码中的一部分生效或者失效,从而控制编译时的代码执行路径,进而影响编译出来的程序的行为. 这有啥用呢?通常在编写跨平 ...

  3. sql连接处理

    序言 数据存储是一个很重要的话题,小到C里面的struct,到os的一个个数据表,大到一个个数据库软件乃至单纯提供数据存储和访问服务的集群,提供数据的快速访问.持久化维护.崩坏数据的恢复,数据的加密维 ...

  4. zookeeper选主机制

    Zookeeper选主机制 一.Server工作状态 每个Server在工作过程中有四种状态: LOOKING:竞选状态,当前Server不知道leader是谁,正在搜寻. LEADING:领导者状态 ...

  5. 从零实现富文本编辑器#3-基于Delta的线性数据结构模型

    数据模型的设计是编辑器的核心基础,其直接影响了选区模型.DOM模型.状态管理等模块的设计.例如在quill中的选区模型是index + len的表达,而slate中则是anchor + focus的表 ...

  6. php uninx时间戳转datetime对象,获取n秒前的dateime问题

    当时在网上搜了下这个问题,大多方法都是定义一个函数,在里面处理,后来网官网文档看到可以这么用,记录下. php时间戳转datetime对象 var_dump(new \Datetime('@'.tim ...

  7. 有的时候,需要利用UserControl占位模板,动态替换的情况,绑定后无法获取DataContext的问题

    有的时候,需要利用UserControl占位模板,动态替换的情况,绑定后无法获取DataContext的问题,特此备注下 效果如下: 关键的地方是,下面第3行,需要把当前的上下文传递到Content, ...

  8. bat文件简短

    bat文件 @echo off F: cd\pictures\projectStreet\FloatingShinyKnot-main node server.js cd\ bat静默运行(但会闪一下 ...

  9. 解决NET Core发布iis项目覆盖原有的项目时"另一个程序正在使用此文件,进程无法访问"

    解决NET Core发布iis项目覆盖原有的项目时"另一个程序正在使用此文件,进程无法访问" 现在net core运用的多了,一系列的问题接踵而来,更新项目发布到iis时就有一个坑 ...

  10. Java--Calendar类,Date类的简单使用,日期的格式化

    package demo; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; / ...