Spring MVC 3:为非现有方法找到的模糊映射

时间:2014-05-04 19:32:33

标签: java spring spring-mvc

我有这个“创建”方法来映射/列出POST请求。我创建了一个重载方法“createEmpty()”以便尝试一些东西,但后来因为为了模糊映射而抛出org.springframework.beans.factory.BeanCreationException而被删除。

问题是,在我删除了所述方法之后,我仍然得到了异常。

@Controller
public class ListsController {

@RequestMapping(value = "/lists", method = RequestMethod.POST)
public @ResponseBody List create(@RequestBody List list) {
    return list;
}
  

信息:Dev App Server现在正在运行   2014年5月4日下午4:21:34 com.google.apphosting.utils.jetty.JettyLogger警告   警告:/:javax.servlet.UnavailableException:org.springframework.beans.factory.BeanCreationException:创建名为'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0'的bean时出错:bean的初始化失败;嵌套异常是java.lang.IllegalStateException:找到了不明确的映射。无法映射'listsController'bean方法   public tacs.tp.list_sharer.domain.List tacs.tp.list_sharer.web.ListsController.createEmpty()   to {[/ lists],methods = [POST],params = [],headers = [],consume = [],produce = [],custom = []}:已有'listsController'bean方法   public tacs.tp.list_sharer.domain.List tacs.tp.list_sharer.web.ListsController.create(tacs.tp.list_sharer.domain.List)已映射。   2014年5月4日下午4:21:34 com.google.apphosting.utils.jetty.JettyLogger警告   警告:/:javax.servlet.UnavailableException:org.springframework.beans.factory.BeanCreationException:创建名为'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0'的bean时出错:bean的初始化失败;嵌套异常是java.lang.IllegalStateException:找到了不明确的映射。无法映射'listsController'bean方法   public tacs.tp.list_sharer.domain.List tacs.tp.list_sharer.web.ListsController.createEmpty()   to {[/ lists],methods = [POST],params = [],headers = [],consume = [],produce = [],custom = []}:已有'listsController'bean方法   public tacs.tp.list_sharer.domain.List tacs.tp.list_sharer.web.ListsController.create(tacs.tp.list_sharer.domain.List)mapping。

似乎createEmpty()缓存在某个地方......

2 个答案:

答案 0 :(得分:4)

请尝试:
1.如果你正在使用eclipse - Project - >干净。
2.如果您正在使用maven,请在部署之前尝试清理和/或安装项目。



我看到你正在使用Jetty,也许这些链接将有助于解决你的问题:
Cleaning up Jetty - Removing 'unnecessaries' things
Jetty runs old war altought mvn clean is run

答案 1 :(得分:3)

我在两个不同的控制器中有相同的 @RequestMapping 值,我从其中一个控制器中移除了它,它开始正常工作。