问题描述:
springboot开发时,输入不存在的接口名,不会发生No mapping的WARN,在异常处理类里面捕获的却是MethodArgumentTypeMismatchException而不是 NoHandlerFoundException
接口代码:
访问测试
经Debug发现:
Failed to convert value of type ‘java.lang.String’ to required type 'java.lang.Long’
盲猜
因为我写在 /list接口 的下一个方法是 {id} 的接口,可能会是匹配接口时,/list5和/list不匹配,然后匹配下一个{id}接口,{id}接口又是一个PathVariable参数,所以list5被当作参数去进行匹配,就发生了Failed to convert value of type ‘java.lang.String’ to required type ‘java.lang.Long’ 的异常
实验
将 {id} 接口改成 /detail/{id}