Java web项目集成Swagger报AbstractSerializableParameter类的异常问题

Posted 滴水穿石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java web项目集成Swagger报AbstractSerializableParameter类的异常问题相关的知识,希望对你有一定的参考价值。

Java web项目集成Swagger报AbstractSerializableParameter类的异常问题

异常信息大致如下:

[nio-1111-exec-4] i.s.m.p.AbstractSerializableParameter : Illegal DefaultValue null for parameter type integer

java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_171]

原因

  • Swagger每一个@ApiModelProperty注解里example属性都会进行非空判断.但是,它在判断的语句里只判断了null的情况,没有判断是空字符串的情况,所以解析数字的时候就会报这个异常。
  • swagger-models 默认是1.5.20,这个版本是没有解决上面这个问题;而在较新的版本1.5.22是解决了这个问题。

解决

<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.9.2</version>
      <exclusions>
            <exclusion>
                  <groupId>io.swagger</groupId>
                  <artifactId>swagger-models</artifactId>
            </exclusion>
      </exclusions>
</dependency>
<dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-models</artifactId>
      <version>1.5.22</version>
</dependency>

PS:引用了新版本的swagger-models包(1.5.22)就不会有这个问题了

以上是关于Java web项目集成Swagger报AbstractSerializableParameter类的异常问题的主要内容,如果未能解决你的问题,请参考以下文章

Java高并发秒杀系统API之SSM框架集成swagger与AdminLTE

我爱java系列之---springboot项目集成swagger2

java swagger组件集成

Swagger的学习

springboot 集成swagger2.x 后静态资源报404

Swagger集成