Spring MVC 3异常:需要一个Errors/BindingResult参数

Mar*_*itt 5 java spring-mvc

我对以下方法有例外:

@Transactional
@RequestMapping(method=RequestMethod.PUT)
public @ResponseBody Account create(@Valid @RequestBody CreateAccountRequest request, BindingResult bindingResult)
{ ... 
}
Run Code Online (Sandbox Code Playgroud)

引发以下异常:

java.lang.IllegalStateException:一个Errors/BindingResult参数应该紧跟在控制器方法签名中的model属性参数之后:public com.mangofactory.concorde.domain.Account com.mangofactory.concorde.api.AccountService.create(com .mangofactory.concorde.api.rpc.CreateAccountRequest,org.springframework.validation.BindingResult)

根据文档,我需要添加一个BindingResult作为第二个参数.但是,我已经做到了.

它甚至出现在例外中.

我错过了什么?

Mar*_*itt 4

事实证明,解决这个问题的方法就是BindingResult彻底移除财产。

有效的签名是:

public @ResponseBody CreateAccountResponse create(@Valid @RequestBody CreateAccountRequest request)
Run Code Online (Sandbox Code Playgroud)

正如本博客文章中的第 3 点所提示的那样。