记一次Swagger页面报错/error 404的排查过程

2023-11-07

记一次Swagger页面报错/error 404的排查过程

使用springfox-swagger-ui展示的页面如下:

在这里插入图片描述
说是没有为/error这个路径指明确定的映射.
前后端使用的json传输数据格式,我也确实没有编码哪个controller中包含/error这样的映射,如果是框架把它当做页面的转发,那我也没有一个这样的ViewModel,而且我的控制层明确使用的是@RestController,不是转发页面的Controller.
所以问题出在Maven引用和配置文件上.

Maven引用

在这里插入图片描述
这个引用不会有问题,原因很简单–使用者众多,而且已经更新到这个版本了,若有问题早就有更新版本覆盖了
网上有很多人都遇到过Swagger-ui.html页面加载不出来的情况,大部分也都是404,很多帖子都是在WebMvcConfig里配置addResourceHandlers加载静态资源,Swagger的配置类上加@EnableSwagger2注解,以及明确RequestHandlerSelectors基础包的扫描路径这一套操作.后来我在解决了这个问题后自己试了一下,Swagger的配置类肯定是要中规中矩的按API描述配置,但是WebMvcConfig却可以不用配置也能出页面.
那就是别的地方的配置文件导致了页面出不来.

一步步排查config包下的配置文件,最终发现关于FastJsonConfig的配置类如果注释掉,Swagger页面会正常显示,
我的FastJsonConfig是继承自WebMvcConfigurationSupport后重写
configureMessageConverters方法的,重写的方法里不涉及/error映射,所以最终是因为WebMvcConfigurationSupport里的方法产生的问题.
现在为了使用configureMessageConverters方法里的json转换功能,产生了额外的耦合,所以换个思路,自己写一个fastJson的配置类,不继承WebMvcConfigurationSupport,说不定就能解决问题.于是我的最终的json配置类改成了这样的:
在这里插入图片描述
启动OK,页面出来了:
在这里插入图片描述
另外,这个swagger-ui可以与swagger-bootstrap-ui并存互补,各自单独显示也都不影响:
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记一次Swagger页面报错/error 404的排查过程 的相关文章

  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url

随机推荐

  • 死锁/死锁的实现

    首先明白死锁产生的原因 死锁指两个或两个以上线程执行过程中 因争夺资源而造成的互相等待现象 四个必要条件 1 互斥性 线程对资源的占有是排他性的 一个资源只能被一个线程占有 直到释放 2 请求和保持条件 一个线程对请求被占有资源发生阻塞时
  • Unity上架苹果商店游戏资源加载的问题被拒4.2.3

    由于游戏资源加载的问题被4 2 3拒绝的解决方案 方案一 加一个下载资源说明 然后改一下逻辑 启动app可以正常进去 然后提醒用户在你进去体验的初期 我们会继续在Wi Fi环境下继续下载app需要的资源 方案二 真是本地解压资源 可以搞一个
  • 前端笔记目录

    HTML 部分 HTML 常用的标签 HTML 表格标签 HTML 列表标签 HTML 表单标签 CSS 部分 CSS 选择器 CSS 字体属性 JavaScript 部分 JavaScript ES6新特性 1 JavaScript ES
  • 简单的spring项目搭建流程

    一 搭建步骤 创建空maven项目 pom文件导入相应依赖jar包 创建包结构 domain test即可 创建JavaBean配置文件 编写简单示例 二 开始 1 创建一个空的maven项目 2 在pom xml文件中导入spring5依
  • AI小程序——文本绘图

    文章目录 一 摘要 二 文心 ERNIE ViLG 技术原理解读 图文双向生成统一建模 三 使用教程 2 1 exe下载 2 2 获取API 2 3 软件使用 2 4 源码链接 一 摘要 在文字生成图像上 文心 ERNIE ViLG 可以根
  • 力扣第99场双周赛题目记录(复盘)

    第一题 2578 最小和分割 给你一个正整数 num 请你将它分割成两个非负整数 num1 和 num2 满足 num1 和 num2 直接连起来 得到 num 各数位的一个排列 换句话说 num1 和 num2 中所有数字出现的次数之和等
  • 解决 VMware 克隆或复制的虚拟机,同时只有一台能上网问题

    VMware 克隆或复制虚拟机后 发现不能上网 多次调试后 确定是克隆或复制的虚拟机与原虚拟机 同时只能有一台能上网 原因是 克隆或复制的虚拟机 网卡 MAC 地址一样导致 重新分配的新 MAC 地址即可 方法如下 1 打开 Vmware
  • Matlab/Simulink-单相逆变电路双闭环仿真搭建

    1 前言 Simulink零基础 单相逆变电路双闭环仿真搭建 单相逆变电路仿真 单相逆变仿真 十分钟让你掌握单相电路简单的双闭环控制 本文不讲单相逆变电路的原理和构成 只涉及如何在Simulink中实现单相逆变电路 搭建的过程在下面视频里了
  • Unity射线穿透UI解决

    unity场景中 射线是可以穿透UI的 我用过很多版本 都有这个问题 比如我现在用2020版本的unity做了个范例 我在场景中新建了一个cube名叫 我秦始皇打钱 点击这个物体就会出现log显示这个物体的名字 代码在下面 运行之后确实会弹
  • 计算机原码补码和反码的计算方法,一个数的原码,反码,补码怎么算,原码 反码 补码...

    数在计算机中是以二进制形式表示的 数分为有符号数和无符号数 原码 反码 补码都是有符号定点数的表示方法 一个有符号定点数的最高位为符号位 0是正 1是副 以下都以8位整数为例 原码就是这个数本身的二进制形式 例如 0000001 就是 1
  • Vue3+ts+element-plus 组件的二次封装-- 头部搜索条件的封装

    Vue 常用笔记 本人是一个web前端开发工程师 主要是vue框架 整理了一些Vue常用的技术 一方面是分享 一方面是做总结 今后也会一直更新 有好建议的同学欢迎评论区分享 Vue专栏 点击此处 Vue组件库专栏 点击此处 Vue2 vs
  • Unity中同时修改物体及其所有子物体层级

    简单说一下思路 首先你得判定当前物体是否有子物体 没有的话就直接设置层级 有的话就再回到1 继续判断子物体下是否还有子物体 接下来结合代码再好好理解一下 private void ChangeLayer Transform transfor
  • matlab实现牛顿下山法

    说起牛顿下山法 首先要提牛顿法 牛顿法是求解非线性方程的一个重要方法 具体可以点击牛顿法 虽然牛顿法作为一个二阶的迭代收敛方法 但是其对于函数和初始点的要求都比较高 而牛顿下山法则是有效降低这些要求的一种技巧 牛顿下山法的迭代公式如下 x
  • [C/C++] 创建后台接受命令程序

    C C 多线程时 运行时输入自定义参数 达到控制线程的目的 基础概念 线程 线程是操作系统能够进行运算调度的最小单位 它被包含在进程之中 进程包含一个或者多个线程 进程可以理解为完成一件事的完整解决方案 而线程可以理解为这个解决方案中的的一
  • 弹性布局-更优秀的Flex

    Flex布局详解 浮动布局的优缺点 图文的环绕显示 浮动元素 同行显示 适配性更好 忘记清浮动 高度坍塌 flex布局的优缺点 IE10以下不支持 用来做布局的 很方便 flex布局 flex flexible 弹性布局 移动端用的最多 P
  • LeetCode——345. 反转字符串中的元音字母

    反转字符串中的元音字母 题目 思路 代码 结果 题目 给你一个字符串 s 仅反转字符串中的所有元音字母 并返回结果字符串 元音字母包括 a e i o u 且可能以大小写两种形式出现 思路 没有什么难度 很简单的数组判断交换 代码 clas
  • 操作系统——启动操作系统及ucore-lab0 coding

    花了一周多时间把操作系统的课程看了一遍 晚上结课的时候尝试性地想看着笔记的标题回忆一下内容 发现 嗯 一片混沌 趁热打铁做个总结吧 辅以uCoreLab上的coding 一个走 1 操作系统的启动 未启动前 os和Bootloader都存放
  • 图形学/OpenGL/3D数学/Unity

    1 场景管理的数据结构 总结 游戏开发最常用的空间数据结构是四叉 八叉树和BVH树 而BSP树基本上只能应用于编辑器上 k d树则只能用在特殊问题应用场景 2 帧同步与状态同步 https gameinstitute qq com comm
  • lattice 包中的直方图绘制

    1 直方图 library lattice install packages nutshell library nutshell histogram DBWT DPLURAL data births2006 smpl main births
  • 记一次Swagger页面报错/error 404的排查过程

    记一次Swagger页面报错 error 404的排查过程 使用springfox swagger ui展示的页面如下 Maven引用 使用springfox swagger ui展示的页面如下 说是没有为 error这个路径指明确定的映射