Spring Web MVC - 验证单个请求参数
我在Spring Web MVC 3.0中运行Web应用程序,并且我有许多控制器方法,其签名大致如下:
@RequestMapping(value = "/{level1}/{level2}/foo", method = RequestMethod.POST)
public ModelAndView createFoo(@PathVariable long level1,
@PathVariable long level2,
@RequestParam("foo_name") String fooname,
@RequestParam(value = "description", required = false) String description);
我想添加一些验证 - 例如,应限制为一定长度或应仅包含某些字符。如果此验证失败,我想向用户返回一条消息,而不仅仅是抛出一些未经检查的异常(如果我让数据向下渗透到DAO层,无论如何都会发生这种情况)。我知道JSR303,但还没有使用它,也不太了解如何在春季环境中应用它。description
fooname
据我所知,另一种选择是将 绑定到整个域对象并在那里添加验证约束,但目前我的代码设置为接受各个参数,如上所示。@RequestBody
使用此方法对输入参数应用验证的最直接方法是什么?