忽略@PathVariable上的TypeMismatchException的请求映射

时间:2014-05-28 06:56:55

标签: spring-mvc

是否存在全局配置开关,如果TypeMismatchException上出现@PathVariable,我可以告诉Spring忽略请求映射?

E.g。

...
@RequestMapping(value="/somepath/*-{someId}", method=RequestMethod.GET)
public String doSomething(@PathVariable Integer someId, Model model)

当使用字符串而不是数字调用映射时,抛出TypeMismatchException并引发500。 我不想在@ExceptionHandler或一些ExceptionResolver中使用它。只是不匹配(并遇到404)!

1 个答案:

答案 0 :(得分:0)

由于您只希望将数字与{someId}的值匹配,因此您的请求映射是通用的。为了使它更具体,你可以使用正则表达式,例如

@RequestMapping(value="/somepath/*-{someId:\\d+}")

如果映射到{someId}的值是一个或多个数字,则上述内容仅匹配。