Ambiguous handler methods mapped for HTTP path

一、问题:映射重复导致的错误

java代码如下:

  @RequestMapping(value = "/info/{remove}/{id}", method = RequestMethod.GET)
    public String removeNewsById(@PathVariable("id") long id) {
@RequestMapping(value = "/info/{fav}/{id}", method = RequestMethod.GET)
    public String increaseFavoriteById(@PathVariable("id") long id) {

报以下错误:

message Request processing failed; nested exception is java.lang.IllegalStateException:
Ambiguous handler methods mapped for HTTP path ‘http://localhost:8080/zc-beauty2/news/info/fav/6‘:
 {public java.lang.String com.zc.beauty.controller.NewsController.removeNewsById(long),
public java.lang.String com.zc.beauty.controller.NewsController.increaseFavoriteById(long)}

我的意图是分别访问 /info/remove/id 和/info/fav/id

上述写法有问题:用{} 包裹起来的变量好像会被模糊化:

/info/{remove}/{id}  和

/info/{fav}/{id}

的映射是重复的

二、解决办法:

写成如下格式:

/info/remove/{id}

对于确定的路径参数不要加{}

问题解决。

以上就介绍了Ambiguous handler methods mapped for HTTP path,包括了方面的内容,希望对JSP教程有兴趣的朋友有所帮助。

转自http://www.codes51.com/article/detail_161369.html

时间: 2024-10-14 17:43:38

Ambiguous handler methods mapped for HTTP path的相关文章

异常:java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path '/app/userInfoMaint/getProvince.do'

调试代码时出现异常:java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path '/app/userInfoMaint/getProvince.do':当时就郁闷了,好像之前没怎么见过,后来发现原来是后台有两个"app/userInfoMaint/getProvince.do",并且它们路径相同. 解决方法很简单,相信大家都知道,就是将后台两个方法请求路径名区分开. 由上可知,锁定问题是

java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path 'http://localhost:8888/contactTime/3308X7TqA976r857': {public com.infohold.hm.utils.Result

java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path 'http://localhost:8888/contactTime/3308X7TqA976r857': {public com.infohold.hm.utils.Result com.infohold.hm.controller.EmployersIntentController.orderContactTime(java.lang

使用ControllerAdvice注意事项,Ambiguous @ExceptionHandler method mapped for [class org.springframework.web.bind.MethodArgumentNotValidException]

前言 ControllerAdvice非常好用,可以把系统内部的异常统一处理.用起来也很简单.比如,http://www.cnblogs.com/woshimrf/p/spring-web-400.html 而Spring提供了一个base类ResponseEntityExceptionHandler,可以使用这个来处理.但用的时候要注意,不要重复定义异常捕获,对于base里已经定义好的,只要overwrite就好,不要重复声明异常拦截. 以下来自stackoverflow 问题 @Contro

handlerMapping的初始化以及查找handler

前提:HttpServletBean初始化了一些servlet配置,接着FrameWorkServlet创建了WebApplicationContext,最后DispatcherServlet初始化一些解析器,mapping(九大组件). 一.从DispatcherServlet的doDispatch开始. 但WebApplicationContext加载完毕后FrameWorkdServlet调用DispatcherServlet的onRefresh方法 @Override protected

Spring 源码解析之HandlerAdapter源码解析(二)

Spring 源码解析之HandlerAdapter源码解析(二) 前言 看这篇之前需要有Spring 源码解析之HandlerMapping源码解析(一)这篇的基础,这篇主要是把请求流程中的调用controller流程单独拿出来了 解决上篇文章遗留的问题 getHandler(processedRequest) 这个方法是如何查找到对应处理的HandlerExecutionChain和HandlerMapping的,比如说静态资源的处理和请求的处理肯定是不同的HandlerMapping ge

SpringCloud请求响应数据转换(二)

上篇文章记录了从后端接口返回数据经过切面和消息转换器处理后返回给前端的过程.接下来,记录从请求发出后到后端接口调用过的过程. web请求处理流程 源码分析 ApplicationFilterChain会调DispatcherServlet类的doService()(HttpServlet类),类继承关系如下: 最终会调DispatcherServlet类的doDispatch方法,并由该方法控制web请求的全过程,包括确定请求方法.确定请求处理适配器和请求实际调用和数据处理,代码如下: 1 /*

XSS事件(一)

前言 ? 最近做的一个项目因为安全审计需要,需要做安全改造.其中自然就包括XSS和CSRF漏洞安全整改.关于这两个网络安全漏洞的详细说明,可以参照我本篇博客最后的参考链接.当然,我这里并不是想写一篇安全方面的专题.我要讲的是在做了XSS漏洞修复之后引发的一系列事件. 超时 ? 本地测试的时候随便点了些页面,然后debug跟了下代码未发现任何问题.上线之后用户反馈有的页面打不开,自己去线上体验发现大部分页面正常,但是存在部分客户反馈的页面打开直接超时报错. 事件紧急处理 ? XSS这个漏洞修复开始

springmvc 的请求处理过程(精编)

1. DispacherServlet 前端控制器接受发送过来的请求,交给HandlerMapping 处理映射器, 2. HandlerMapping 处理映射器, 根据请求找到相应的HandlerAdapter 处理适配器(处理适配器就是那些拦截器活着吧Controller) 3. HandlerAdapter处理器适配器,处理一些功能请求, 返回一个ModleAndView 对象,包括模型数据.逻辑视图名. ViewResolver视图解析器 ,先根据ModleAndView 中设置的vi

J2EE开发工作中遇到的异常问题及解决方法总结

转自:http://blog.csdn.net/rchm8519/article/details/41624381 1.    HttpClient I/O exception: 错误信息:I/O exceptioncaught when processing request: Connection timed out:connect 错误原因:IP不正确. 解决方法:改正IP 2.    Ambiguous handler methods mapped 错误信息:java.lang.Illeg