java.lang.IllegalStateException: Ambiguous handler methods

错误

java.lang.IllegalStateException: Ambiguous handler methods mapped for
‘/favorites/1576138903256051713’: {public com.bsf.dto.R
com.bsf.controller.FavoritesController.delEq(java.lang.Long), public
com.bsf.dto.R
com.bsf.controller.FavoritesController.delFavorites(java.lang.Long)}
at
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:432)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:383)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:125)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:67)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:498)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1261)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
~[spring-webmvc-5.3.20.jar:5.3.20] at
org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931)
~[spring-webmvc-5.3.20.jar:5.3.20] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
~[tomcat-embed-core-9.0.63.jar:4.0.FR] at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
~[spring-webmvc-5.3.20.jar:5.3.20] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
~[tomcat-embed-core-9.0.63.jar:4.0.FR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
~[tomcat-embed-websocket-9.0.63.jar:9.0.63] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
~[spring-web-5.3.20.jar:5.3.20] at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
~[spring-web-5.3.20.jar:5.3.20] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
~[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.coyote.AbstractProtocol C o n n e c t i o n H a n d l e r . p r o c e s s ( A b s t r a c t P r o t o c o l . j a v a : 890 ) [ t o m c a t − e m b e d − c o r e − 9.0.63. j a r : 9.0.63 ] a t o r g . a p a c h e . t o m c a t . u t i l . n e t . N i o E n d p o i n t ConnectionHandler.process(AbstractProtocol.java:890) [tomcat-embed-core-9.0.63.jar:9.0.63] at org.apache.tomcat.util.net.NioEndpoint ConnectionHandler.process(AbstractProtocol.java:890)[tomcatembedcore9.0.63.jar:9.0.63]atorg.apache.tomcat.util.net.NioEndpointSocketProcessor.doRun(NioEndpoint.java:1743)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
org.apache.tomcat.util.threads.ThreadPoolExecutor W o r k e r . r u n ( T h r e a d P o o l E x e c u t o r . j a v a : 659 ) [ t o m c a t − e m b e d − c o r e − 9.0.63. j a r : 9.0.63 ] a t o r g . a p a c h e . t o m c a t . u t i l . t h r e a d s . T a s k T h r e a d Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-9.0.63.jar:9.0.63] at org.apache.tomcat.util.threads.TaskThread Worker.run(ThreadPoolExecutor.java:659)[tomcatembedcore9.0.63.jar:9.0.63]atorg.apache.tomcat.util.threads.TaskThreadWrappingRunnable.run(TaskThread.java:61)
[tomcat-embed-core-9.0.63.jar:9.0.63] at
java.lang.Thread.run(Thread.java:748) [na:1.8.0_301]

存在问题的代码

 //删除收藏夹
    @DeleteMapping("/{favoritesId}")
    public R<String> delFavorites(@PathVariable Long favoritesId) {
        boolean b = favoritesService.delFavorites(favoritesId);
        if (b) {
            R.success("删除收藏夹成功");
        }
        return R.error("删除收藏夹失败");
    }
@DeleteMapping("/{id}")
    public R<String> delEq(@PathVariable Long id) {
        favoritesService.delEq(id);
        return R.success("取消收藏成功");
    }

解决

该问题是因为Mapping的value值的url值一样造成的(参数名不同不会造成影响,因为返回数据是相同形式),所以只需要修改Mapping的value值就可以了

 @DeleteMapping("/del/{id}") //eg
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值