问题背景
出现Ambiguous handler methods mapped for HTTP
的问题,
例如这样http://eureka1:8091/xxxx/result/collect/0070/0
是因为在xxxXController里面,定义了一个/result/collect/{checkNum}/{status}
和/result/collect/{orderNum}/{checkType}
那么SpringMVC是无法分辨到底应该解析到哪个URL的,会造成混乱。
于是就会有Ambiguous handler methods
的情况,也就是映射路径模糊,无法正确识别
的意思。Ambiguous
=模糊
java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path 'http://eureka1:8091/checkcollectsys/result/collect/0070/0': {public org.microservice.tcbj.yytsg.checkcollectsys.util.ApiReturnObject org.microservice.tcbj.yytsg.checkcollectsys.controller.CollectController.query(java.lang.String,java.lang.String), public org.microservice.tcbj.yytsg.checkcollectsys.util.ApiReturnObject org.microservice.tcbj.yytsg.checkcollectsys.controller.CollectController.queryList(java.lang.String,java.lang.String)}
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:369)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:316)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:62)
at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:350)
at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1188)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:964)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866)