仅当PathVariable包含一组值中的值时才执行控制器方法

时间:2015-03-05 11:57:42

标签: spring spring-mvc

只有当浏览器发送的PathVariable值与一组预定义值匹配或在列表或集合中定义时,在spring控制器中执行方法是否可行?

例如,在以下方法中:

@RequestMapping(value = "/{fruitName}", method = RequestMethod.GET)
public String viewFruitPage(ModelMap model, @PathVariable String fruitName) { 
    .... 
}

仅在 Mango Orange Grapes 传递时执行,在任何其他情况下,Spring应该寻找其他一些控制器方法,在 / (Root)

之后也会获得一些动态值

1 个答案:

答案 0 :(得分:2)

您可以执行像

这样的正则表达式映射
@RequestMapping(value = "/{fruitName:Mango|Orange|Grapes}", method = RequestMethod.GET)
public String mango(ModelMap model, @PathVariable String fruitName) {
  ...
}