Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘quanZiController‘ method

简介: Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘quanZiController‘ method

已解决!!!

报错信息

Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'quanZiController' method 
public org.springframework.http.ResponseEntity<java.util.List<com.tanhua.server.vo.VisitorsVo>> com.tanhua.server.controller.QuanZiController.queryVisitorsList()
to {[/movements/visitors],methods=[GET]}: There is already 'quanZiController' bean method
public org.springframework.http.ResponseEntity<java.lang.Object> com.tanhua.server.controller.QuanZiController.queryVisitors() mapped.
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.assertUniqueMethodMapping(AbstractHandlerMethodMapping.java:599) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:567) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:294) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda$detectHandlerMethods$1(AbstractHandlerMethodMapping.java:279) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:na]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:277) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:249) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:208) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:196) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:164) ~[spring-webmvc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1741) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE]
  ... 16 common frames omitted

分析报错信息

初步分析

Caused by:java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘quanZiController’ method

IllegalStateException:非法状态异常

Ambiguous mapping:模糊影射

Cannot map ‘quanZiController’ method:不能映射quanZiController方法

分析结果

会不会是少写了什么注解

重新梳理…

该写的注解都写了,没问题

再次分析

报错信息再往下看

从图中报错信息可知,在com.tanhua.server.controller目录下的QuanZiController类的queryVisitorsList()方法去往get请求路径/movements/visitors:已经存在quanZiController的bean方法

分析结果

写了两个queryVisitorsList()方法

写了两个get请求路径为/movements/visitors的GetMapping注解

先全局搜索一下queryVisitorsList()这个方法

由图可知此类中只有这一个queryVisitorsList()方法

再搜索一下movements/visitors这个get请求的路径

此时发现此类中居然有两个get请求的路径都是/movements/visitors

点进去查看

发现是最开始写的半成品代码

忘记了,又写了一个这样的方法,所以会同路径,报出这个异常

处理方式

把这个半成品的代码删除就OK了

处理结果

运行,启动成功!!!


目录
相关文章
|
4天前
|
存储 安全 Java
Java集合详解:Set, Map, Vector, List的对比与联系
Java集合框架核心包括List、Set、Map和Vector。List允许重复元素,如ArrayList(适合读取)和LinkedList(适合插入删除)。Set不允许重复,有HashSet(无序)和TreeSet(排序)。Map存储键值对,HashMap(无序)和TreeMap(排序)。Vector是线程安全的ArrayList替代品,但在多线程环境下使用。选择集合类型应根据应用场景,如有序、无序、键值对需求及线程安全考虑。
|
5天前
|
存储 缓存 Java
Java交换map的key和value值
在Java中,直接交换`Map`的key和value是不允许的,因为key是唯一的且不可变。不过,可以通过创建新`Map`实现交换:将原`Map`的value作为新key,key作为新value。注意,如果原`Map`有重复value或null,需额外处理。以下是一个代码示例,展示了如何在value唯一且非null的情况下交换`Map`的key和value。对于重复value或null值的情况,可以使用`List`存储多个key或忽略null值。在实际应用中,`Map`常用于缓存、配置管理、数据库结果映射等多种场景。
18 1
|
5天前
|
存储 缓存 Java
Java遍历Map集合的方法
在Java中,遍历Map集合主要有四种方式:1) 使用`keySet()`遍历keys并用`get()`获取values;2) 使用`entrySet()`直接遍历键值对,效率较高;3) 通过`Iterator`遍历,适合在遍历中删除元素;4) Java 8及以上版本可用`forEach`和Lambda表达式,简洁易读。`entrySet()`通常性能最佳,而遍历方式的选择应考虑代码可读性和数据量。
20 0
|
6天前
|
Java API 容器
Java 8 的流库:Filter、Map、FlatMap 及 Optional 的概念与用法
【6月更文挑战第9天】Java 8 引入了许多强大的新特性,其中流库(Stream API)和 Optional 类极大地简化了集合操作和空值处理。本文将深入探讨 filter、map、flatMap 以及 Optional 的概念和用法,并提供示例代码来展示其实际应用。
16 4
|
7天前
|
存储 安全 Java
Java 集合(List、Set、Map 等)相关问答归纳再整理
HashMap 中使用键对象来计算 hashcode 值 HashSet 使用成员对象来计算 hashcode 值,对于两个对象来说hashcode 可能相同,所以 equals() 方法用来判断对象的相等性,如果两个对象不同的话,那么返回 false。 HashMap 比较快,因为是使用唯一的键来获取对象,HashSet 较 HashMap 来说比较慢。 4.1.3 HashMap 与 TreeMap
7 2
|
10天前
|
Java
Java list中的对象转为list,list中的对象转为map
Java list中的对象转为list,list中的对象转为map
|
15天前
|
存储 安全 Java
Java的Map接口及其实现类的技术性文章
Java的Map接口及其实现类的技术性文章
9 0
|
16天前
|
存储 安全 Java
Java list set map等接口及其实现类
Java list set map等接口及其实现类
|
18天前
|
存储 Java Serverless
Java集合利器 Map & Set
Java集合利器 Map & Set