访问Swagger:java.lang.NumberFormatException: For input string: ““

news2024/11/15 13:56:09

你们好,我是金金金。

在这里插入图片描述

场景

启动项目,接着访问Swagger

在这里插入图片描述

依赖版本如下:1.5.20

在这里插入图片描述

查看控制台输出:报错如下

在这里插入图片描述

排查

  1. 首先看报错:For input string: “”:这个错误表明程序尝试将一个空字符串(“”)转换成数值类型(如 int 或 double),但由于空字符串没有有效的数字表示形式,导致转换失败

  2. 由于不是我们编写的代码,看到报错也有一种无力感,我们进到源码里面定位问题,按住ctrl+左键进入AbstractSerializableParameter这个类,定位到getExample方法

    在这里插入图片描述

  3. 打上断点,接着浏览器刷新一下进入断点

    可以看到,AbstractSerializableParameter.javaswagger-models-1.5.20.jar包下面的一个类

    在这里插入图片描述

    在对应的位置打上断点

    在这里插入图片描述

  4. 断点调试

    在这里插入图片描述

原因是在该swagger版本下对于数字类型的字段没有设置example值,导致swagger处理时类型转换异常,算是swagger-models1.5.20的一个小bug

解决

第一种解决方案

手动添加example

  • 通过断点调试已经看出了问题,就是example这个字段为空字符串所导致的,那么修改起来也是非常的简单,加上对应的example 属性就好了

    在这里插入图片描述

这种方式的弊端:费时费力

  • 假设你此时已经写好了项目所有的接口,如果有100个地方需要修改,只能一个一个去修改

第二种解决方案

导入1.5.21(及之后)版本的swagger-models(推荐)

  • 来,看下依赖

在这里插入图片描述

  • 可以看到swagger-models:1.5.20swagger-spring-boot-starter下面,排除掉这个依赖

在这里插入图片描述

  • 排除了之后,单独引入swagger-models:1.5.21

在这里插入图片描述

这种方式的好处:不需要修改任何一处代码,只需要更改依赖就行。

测试

  • 刷新下maven,重新访问下测试,观察控制台输出

总结

总结来说就是1.5.20这个版本下对于数字类型的字段如果没有设置example值会导致swagger处理时类型转换异常, 建议使用第二种方案~升级版本即可

  • 编写有误还请大佬指正,万分感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb JavaScript 9.正则表达式

生命的价值在于你能够镇静而又激动的欣赏这过程的美丽与悲壮 —— 24.8.31 一、正则表达式简介 正则表达式是描述字符模式的对象。正则表达式用简单的API对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 1.语法 var pattnew RegExp(pattern,modi…

【qt踩坑】路径含中文导致的报错,以及 OpenGL的链接报错

​ 背景 本来是准备采用VSQt插件的方式来开发Qt的,但是学习过程中发现,这种模式还是没有直接用Qt Creator 开发来的方便,插件这种模式坑多,功能不完善。 不过在直接使用Qt Creator的时候也踩坑了: (最后发现&#x…

【达梦】“6103无效的时间类型值”解决办法

场景 使用DM数据迁移工具将excel文件里的数据导入到达梦数据库里。提示“无效的时间类型值”。 尝试 一看就是createTime等跟时间相关的字段出问题了。createTime在库里的数据类型为timeStamp。 尝试1:修改excel里此字段的类型,依旧报错。此方案失败。…

单向链表与双向链表

当使用单向链表查看链表中某个节点的数据,可以使用快慢指针法 快慢指针: 快慢指针是一种在链表和数组中常用的算法技巧,主要用于解决链表或数组中的问题,如检测环 存在、找到环的入口、计算链表的中点等。快慢指针的核心思想是…

【数学建模备赛】Ep07:灰色预测模型

文章目录 一、前言🚀🚀🚀二、:灰色预测模型☀️☀️☀️1. 灰色系统引入2. 方法3. 步骤① 累加法产生新序列② 利用部分和序列相邻两项的加权平均产生序列z③ 建立关于原始数据与序列z的灰微分方程④ 利用最小二乘法确定灰微分方程…

Orcad封装怎么添加

1 点击文件,添加库 2 添加封装 3 画二极管封装 1.先设置网格。 2..Library-->>olb文件 右键New Part 3.文件名建议规范命名。 4.place ployline 同时按shift画任意形状的封装 5 图形填充

18.求三数之和

题目 链接:leetcode链接 思路分析(双指针) 这道题目与上一道题,求有效三角形的个数,十分类似,都是使用双指针算法来解决问题。 先进行排序,然后利用单调性进行调整,逐步逼近正确…

25届计算机毕业设计,如何打造Java SpringBoot+Vue博客系统,一步一脚印,开发心得分享

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Proteus 仿真设计:开启电子工程创新之门

摘要: 本文详细介绍了 Proteus 仿真软件在电子工程领域的广泛应用。从 Proteus 的功能特点、安装与使用方法入手,深入探讨了其在电路设计、单片机系统仿真、PCB 设计等方面的强大优势。通过具体的案例分析,展示了如何利用 Proteus 进行高效的…

JVM垃圾回收算法:标记-清除算法 、复制算法、 标记-整理算法、 分代收集算法、可达性分析算法

文章目录 引言I 标记回收算法(Mark-Sweep)算法思路不足II 复制算法(Copying)算法的思路缺点案例III 标记整理算法(Mark-Compact)思路IV 分代收集(以上三种算法的集合体)分代收集算法思想新生代算法:Minor GC使用复制算法老年代 GC算法:(Major GC / Full GC)使用标记…

【内网渗透】最保姆级的春秋云镜Certify打靶笔记

目录 flag1 flag2 flag3 flag4 flag1 fscan扫外网 访问8983端口,发现配置项有log4j 【vulhub】Log4j2:CVE-2021-44228漏洞复现_vulhub cve-2021-44228-CSDN博客 /solr/admin/collections?action${jndi:ldap://z5o5w8.dnslog.cn} dnslog测出可…

【数据结构】详解二叉搜索树及其实现

前言: 二叉搜索树是红黑树等的前身,掌握其操作和性质很重要。总结自用and分享。 目录 一、基本概念 二、其常见操作及其实现 1.定义节点 2.查找元素 3.插入元素 4.删除元素【难点】 三、性质分析 一、基本概念 如下所示:对于所有节点都…

小阿轩yx-Kubernetes高级调度

小阿轩yx-Kubernetes高级调度 前言 前面 Kubernetes 的调度基础实现了见表格自己的服务器部署到 Kubernetes在生产环境中,调度远比想象的要复杂 比如 某些程序只能部署在固定的几台机器上某些机器只能部署指定的 Pod节点挂了怎么快速修复节点挂了如何让影响最小…

DDS基本原理--FPGA学习笔记

DDS信号发生器原理: timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2024/09/04 15:20:30 // Design Name: hilary // Module Name: DDS_Module //module DDS_Module(Clk,Reset_n,Fword,Pword,Data);input Clk;input Reset_n;input [31:0]…

OpenBLAS QR decompose example

1. 安装 OpenBLAS release 版本: Makefile: all:wget https://github.com/OpenMathLib/OpenBLAS/archive/refs/tags/v0.3.27.tar.gztar zxf v0.3.27.tar.gz make -C OpenBLAS-0.3.27 FCgfortran -jinstall:make -C OpenBLAS-0.3.27 install PREFIX../lo…

字节跳动一面

字节跳动一面【C后端开发】 base : 深圳 岗位:C后端开发 时间: 2024/8/30 文章目录 基本介绍C语言1. 堆栈内存是否连续,为什么?2. int i0; i ; 两个线程同时执行10000次,i最终的数值是多少?3.…

【Java基础】代理

文章目录 代理代理模式的优点代理模式类型基于JDK的静态代理基于JDK的动态代理 代理 一种设计模式,不允许用户直接访问核心功能,而是通过代理来访问核心类的核心功能 举个例子,如果我们现在需要一个银行转账系统,我们需要在一个Ja…

git创建本地分支并track跟踪远程分支

git创建本地分支并track跟踪远程分支 查看本地分支与远程分支的映射关系: git branch -vv 查看远程都有什么分支: git branch -r 在本地自动新建一个xxx分支,且自动track跟踪远程的同名xxx分支: git checkout --track origin/xx…

MinIO Packet Pushers 播客: 汤姆-里昂,《NFS 必死》。

我们真的很喜欢 Packet Pushers 的团队。他们的播客是业内最好的播客之一,涵盖了从堆栈顶部到底部的技术。我们最近有机会赞助传奇人物 Tom Lyon 对 Ethan Banks 和 Drew Conry-Murray 的采访。Packet Pushers 的团队对 Tom 最近题为“NFS(网络文件系统&…

数据结构(13)——平衡二叉树(红黑树)

欢迎来到博主的专栏——数据结构 博主ID:代码小号 文章目录 红黑树红黑树节点之间的关系红黑树的插入uncle节点为红色uncle节点是黑色或者没有uncle节点 红黑树 平衡二叉树最出名的除了AVL树之外就是红黑树(RBTree),所谓红黑树&a…