1.问题描述
项目启动,刷新Swagger web界面抛:
java.lang.NumberFormatException: For input string: “”
虽然不影响功能,但是控制台抛异常谁能受得了(愤怒)
出现的原因是在该swagger版本下对于数字类型的字段没有设置example值,导致swagger处理时类型转换异常,算是swagger-models1.5.20的一个小bug
2.解决办法
1.手动添加example值
为每个数字类型的字段或参数添加上example值(费时费力不推荐)
2.导入1.5.21版本的swagger-models
<dependency>
<!-- 版本有在父pom指定 -->
<!-- version:1.5.21 -->
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</dependency>
<!-- version:2.9.2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
将swagger-models替换为1.5.21的版本(据说swagger3.x的swagger-models都还是用的1.5.20),直接在原有的springfox-swagger2依赖前引入就行,不需要exclution掉springfox-swagger2里面的swagger-models(因为按照maven的依赖原则,相同路径下谁先声明谁优先),然后刷新maven依赖重新build完美解决
版权声明:本文为liu262464原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。