Swagger文档解决NumberFormatException: For input string: ""

小感触 2020年02月24日 206次浏览

在使用Swagger作为文档生成工具的时候,如果在注解@ApiModelProperty中我们并没有设置它的example属性,那么就会报这样的异常信息。说白了就是因为之前的版本是默认我们要输入example值的,但是我们并没有输入,然后就是出现了类似于Long.valueOf(xxx)的解析异常。

    @Nullable
    @Range(min = 1, max = 100, message = "合法的页容量为:[1-100]")
    @ApiModelProperty(value = "一页的数据容量。取值范围[1-100]")
    private Integer pageSize;

解决办法很简单,在pom加入另外的两个依赖即可:

    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-annotations</artifactId>
      <version>1.5.22</version>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-models</artifactId>
      <version>1.5.22</version>
    </dependency>  

加入这些依赖之后,再针对example进行默认赋值的时候,源码里面多了一层对example的非空校验。来避免这种异常。