Swagger2 异常 NumberFormatException:For input string:""

时间:2025-03-17 22:16:11

项目中引入Swagger2时,有时会出现数字转化异常,如图;

: For input string: ""
    at (:65)
    at (:601)
    at (:803)
    at (:395)
    at .(Unknown Source)
    at (:43)
    at (:498)
    at (:664)
    at (:689)
    at (:155)
    at (:119)
    at (:79)
    at (:18)
    at (:704)
    at (:689)
    at (:155)
    at (:704)
    at (:689)
    at (:155)
    at (:633)
    at (:536)
    at (:30)
    at (:704)
    at (:689)
    at (:155)
    at (:292)
    at ._configAndWriteValue(:3697)
    at (:3073)
    at (:38)
    at ..(:105)

这是因为Swagger2中  @ApiModelProperties 如果为数字类型,但添加注解后,又不指定example的值,会默认为"",swagger在后续处理的时候强行转化空字符串就会抛出异常。这也是Swagger2的bug。

有两种处理方式:

第1种:

=ERROR

将swagger的级别设置为error,(不太推荐)

第2种:

<dependency>           
    <groupId></groupId>            
    <artifactId>swagger-annotations</artifactId>           
    <version>1.5.21</version>       
</dependency>        
<dependency>            
    <groupId></groupId>            
    <artifactId>swagger-models</artifactId>            
    <version>1.5.21</version>        
</dependency>

将swagger的 annotations以及models 替换为1.5.21版本即可。(推荐)