1

我开始研究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!

我正在使用弹簧 3.1.3.RELEASE。

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

4

2 回答 2

0

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

于 2013-01-22T17:29:54.103 回答
0

我不认为 Spring 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

于 2013-01-21T02:06:50.780 回答