• 解决刷新SwaggerUi控制台报错


    一、问题描述
    在浏览器刷新SwaggerUI的页面,控制台就报错:

    
    java.lang.NumberFormatException: For input string: ""
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_291]
        at java.lang.Long.parseLong(Long.java:601) ~[na:1.8.0_291]
        at java.lang.Long.valueOf(Long.java:803) ~[na:1.8.0_291]
        at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412) ~[swagger-models-1.5.20.jar:1.5.20]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_291]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_291]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_291]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_291]
        
        ......
    
    
    
    2021-08-06 14:43:07.757  WARN 23020 --- [nio-8555-exec-5] 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_291]
        at java.lang.Long.parseLong(Long.java:601) ~[na:1.8.0_291]
        at java.lang.Long.valueOf(Long.java:803) ~[na:1.8.0_291]
        at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412) ~[swagger-models-1.5.20.jar:1.5.20]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_291]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_291]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_291]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_291]
        
        ......
    

    二、解决办法
    在pom中增加依赖

    <!-- springfox-swagger2 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
    </dependency>
    
    
    <!-- 解决刷新SwaggerUi报错 getExample -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>1.5.22</version>
    </dependency>
    <!-- 解决刷新SwaggerUi报错 getExample -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-models</artifactId>
        <version>1.5.22</version>
    </dependency>
    

    三、原因
    官方代码中存在bug,对于 string 仅判断是否为null 未判断是否为空字符串,导致在将空字串赋值给 int 的时候报错了。

    邮箱:cnaylor@163.com
    技术交流QQ群:1158377441
  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/Naylor/p/15108550.html
Copyright © 2020-2023  润新知