目录

目录

目录

简介

问题

解决方法

看我的案例

结语


简介

今天写项目,在给Controller配置Swagger的功能,配置好启动出现下面的错误。翻了好几个博主的文章,百度了好久没找到原因。

因为后台报错显示,是前端传输来的数据格式String不能转换为Long,并且提示了swagger-ui,所以考虑是在Controller层的问题。

然后查看发现有数字参数的方法都不是包装类,习惯写非包装类,谨遵先师教导将所有的long都改为Long包装类。

最后自己开始排除法,将当前的Controller里面所有的方法以二分法开始排出查找是哪个方法导致报错。排查到是根据id查找数据的方法导致。

然后想起看了一个博主的文章说路径必须有,所以大胆猜想是因为只有/{id}没有自定义名称导致。

参考

参考博主的连接:启动swagger报错java.lang.NumberFormatException: For input string: “swagger-ui”遇到的坑_一直在努力的張某的博客-CSDN博客

 

问题

Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'; nested exception is java.lang.NumberFormatException: For input string: "swagger-ui.html"]

前端报错显示:

 后台报错显示:

解决方法

1、所有方法都要有RequestMapping

2、参数类型使用包装类或引用类

3、路径使用restful风格的时候,依然需要名称,不能只有参数

看我的案例

这里的路径只有:"/{id}"

 修改后:"/getBrand/{id}"

重新启动再执行:

 

结语

成功。

有帮助到的话记得点个赞

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐