解决“Ambiguous mapping. Cannot map ‘indexController‘ method”报错,其实很简单,只是不够细心

解决“Ambiguous mapping. Cannot map 'indexController' method”报错

在搭建好框架之后,我写了个简单的控制类来进行测试,测试成功之后,我就开始做项目了。当时后来工程突然启动失败。主要报错就是“Ambiguous mapping. Cannot map 'indexController' method ”。

这个报错主要说的是“模糊映射。无法映射‘索引控制器’方法”。

什么情况下会存在模糊的情况,你可以联系一下日常生活中的谈话,你让别人帮你一个忙,当你表述不清的时候是不是就会出现语义模糊,让别人不知道你在说什么,便不知道做什么。这里同样是这种情况,我们代码中所写的映射地址出现了“表述不清”的情况。什么情况下,映射地址会表述不清呢?找一下代码就知道了。

在搭建好框架之后,我写了个简单的控制类来进行测试,测试成功之后,我没有注释掉,也没有删掉,我就开始做项目了。

 

下面是用来测试的控制器。

@Controller
public class IndexController {

    @GetMapping("/admin/blogs")
    public String blog() {
        return "admin/blogs";
    }

}

再看看我项目中真正使用到的控制器

@Controller
@RequestMapping("/admin")
public class BlogController {

    @GetMapping("/blogs")
    public String blogs(@PageableDefault(size = 6, sort = {"updateTime"}, direction = Sort.Direction.DESC) Pageable pageable,
                        BlogQuery blog, Model model) {
       // 省略不写了
    }

发现问题了没有,这两个@GetMapping注解的映射地址是一样的,都是“/admin/blogs”。一个地址,指向两个地方,你让人家怎么知道去哪里。

所以,修改一下映射地址,让每一个映射地址都是唯一性的,项目就可以正常启动了。快去修改吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值