手记

Ambiguous mapping. Cannot map 'XXXController' method

1 异常场景再现

  • 今天写代码,又出Bug了!
  • 看看这两个方法的注解参数

1 绝大多数的原因

该控制器下有两个相同的url,导致spring容器不知道该url映射到哪个方法,在程序源挑错指南网站高票答案也可看出:

2 隐藏Bug !!!

在@RequestMapping注解中使用value,而非name!!

看来即使源码中说他们其实是一个人的两个名字而已,但实质上是真正的同卵双生的双胞胎!!!

3 解决Bug

于是我们将其中至少一个改value,应用又能正常启动!

4 总结

  • 注意controller映射,勿出现重复映射方法
  • 映射注解参数全部使用value,而非name
0人推荐
随时随地看视频
慕课网APP