Swagger2异常 java.lang.NumberFormatException: For input string: ""
阅读原文时间:2023年07月08日阅读:1

问题
在访问swagger首页时报错:

java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:601)
at java.lang.Long.valueOf(Long.java:803)
at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:687)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719)

报错的版本是2.9.2,2.7.0的版本是不报错的,2.8的版本也不会
我的依赖是这样的

   <dependency>  
     <groupId>io.springfox</groupId>  
     <artifactId>springfox-swagger2</artifactId>  


2.9.2


io.springfox
springfox-swagger-ui


2.9.2

原因
AbstractSerializableParameter.class

默认值为"",如果没有@ApiModelProperty(value = "id",example = "123")设置example值,则会出现上面异常

解决
修改swagger-models版本,1.5.21进行了修复

pom.xml文件修改为

io.springfox springfox-swagger2 2.9.2 io.swagger swagger-annotations io.swagger swagger-models
io.springfox springfox-swagger-ui 2.9.2
io.swagger swagger-annotations 1.5.21
io.swagger swagger-models 1.5.21

或者是选择降低版本,使用2.7或者2.8