2016-07-07 151 views
1

@RequestMapping在以下情况下应如何表现?Spring @RequestMapping嵌套行为

@Controller 
@RequestMapping("/search") 
public class SearchController { 

    @RequestMapping(value = "search", method = RequestMethod.GET) 
    public String search(ModelMap map) { 
     // Stuff 
    } 
} 

我有一个已经有这个配置了好几年,并回答了像www.domain.com/appname/search请求的项目。经过非常小的更新,其中控制器未受影响,该应用程序现在只响应www.domain.com/appname/search/search

我原本预料到后者的行为,但是会导致它改变的是什么?

回答

0

控制器应该处理www.domain.com/appname/search/search的请求。

更改的原因竟然是将spring-webmvc依赖项从版本3.1.1更新到3.2.2。我检查了更改日志,没有看到任何可以指示此特定更改的内容,但测试确定是这种情况。

spring-webmvc依赖带来了传递依赖于这取决于你使用的是什么版本spring-contextspring-corespring-aopspring-webspring-beansspring-expression等。无论如何,这些都从3.1.1移到了3.2.2,并且沿着这一行改变了这种行为。