报错信息:Failed to convert value of type ‘java.lang.String’ to required type ‘java.lang.Integer’; nested exception is java.lang.NumberFormatException: For input string: “listAllTag”

1.先上控制台报错信息:

2.分析报错原因

2.1 从前端查看接口

根据报错信息它的信息大概是前台给我传了一个string类型的listAllTag不能转换成Integer,我看了半天也没能想到为什么他会传给我一个String的字符串因为这个接口就是简单的获取一个list集合返回,很棒前台接口也是报500。

2.2查看后端接口

就把重点放在了Controller层 打断点在接口/tag/listAlltag上面查看,发现更本就不经过这个接口

#2.3 找到原因

由于我们前端访问的时候使用的是Get请求 正好我们后端接口当中有一个/tag/{id}这个请求,又是通过@PathVariable来获取的所以后端把我们需要请求的ListALlTag当中{id}的参数响应给了/tag/{id}这个请求,也就有了我们上面的报错信息。

3.解决方法:

在listAllTag这个请求前面换个其他的字段 例如/list/listAllTag就能避免上面的情况发生.

我这里是直接删除了前面的tag.

参考文献:https://blog.csdn.net/qq_44627822/article/details/128562873?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-128562873-blog-106450905.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-128562873-blog-106450905.pc_relevant_recovery_v2&utm_relevant_index=1