Spring @Validated导致HTTP 400

时间:2013-08-20 01:04:21

标签: spring validation spring-validator

当我将@validate注释添加到我的控制器中的方法签名时,我得到一个带有描述的HTTP 400,“客户端发送的请求在语法上是不正确的()。”。有谁知道为什么?

好的代码

public ModelAndView startAccountSubmittal(
    AccountCredential accountCred, HttpServletResponse response) 
       throws MessagingException {

错误代码

public ModelAndView startAccountSubmittal(
    @Validated(value={AccountStates.Submitted.class}) 
        AccountCredential accountCred, 
    HttpServletResponse response, BindingResult result) 
        throws MessagingException {

提前致谢, 乔

1 个答案:

答案 0 :(得分:1)

我配置的未捕获异常没有捕获错误。我向控制器添加了一个异常处理程序,我能够获得详细信息。我有一些额外的字段,它试图验证,其中包含空值,但需要的值。这就是导致HTTP 400的原因。打开异常处理程序有助于获得异常和堆栈跟踪。我修改了代码并添加了额外的组,然后将这些新组添加到对象和控制器中。它按计划运作。