我可以一起使用@Validated和@RequestBody吗?

时间:2013-01-12 07:28:05

标签: spring-mvc spring-3

我开始研究SpringMVC。

这是我控制器中的方法。

@ResponseBody
@RequestMapping(value = "/user/login", method = RequestMethod.POST)
public Result login(@Validated(UserLoginVaildator.class)
@RequestBody User user, BindingResult result, HttpSession session,
    HttpServletResponse response, Model model)

我想使用JSR-303验证来清理用户。 用户由JSON发布,因此我必须使用@RequstBody

但是当我尝试使用这种方法时有一个例外。

Errors/BindingResult argument declared without preceding model attribute. 
Check your handler method signature!

我正在使用spring 3.1.3.RELEASE。

我该如何解决这个问题? 感谢。

2 个答案:

答案 0 :(得分:0)

我不认为春季3.1.x已经支持JSR-303验证组(@Validated)+ @RequestBody。

我所知道的是@Valid与@RequestBody合作。见http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/new-in-3.1.html#new-in-3.1-mvc-valid-requestbody

答案 1 :(得分:0)

为什么不开始使用最新的3.2GA版本? 3.2在@Validated有效载荷之后支持BindingResult参数。

相关问题