MethodArgumentNotValidException

MethodArgumentNotValidException

我的 Controller 如下所示:

@RequestMapping(value = "/cars/{types}", method = RequestMethod.PUT,
        headers = "Accept=application/json")
@ResponseStatus(HttpStatus.OK)
public void startEngine(
        @PathVariable @Min(0) String types, @RequestBody @Valid someObject request, BindingResult result)
        throws MethodArgumentNotValidException {

    if(result.hasErrors())
    {
        System.out.println("Error");
        //Should I be throwing MethodArgumentNotValidException here? And if so how? I don't know how to retrieve the first parameter for it's constructor (MethodParameter object)
    }
    //Controller code
}

因此,在验证结果对象是否在验证过程中遇到任何错误之后,该如何抛出MethodArgumentNotValidException?还是Spring应该在验证过程中已经抛出了该异常?

最佳答案

如果我没记错的话,如果您没有为带注释的MethodArgumentNotValidException参数提供Errors(此处为BindingResult)参数,Spring应该仅向抛出@Valid

如果您愿意,可以自己扔它。

关于java - 未引发MethodArgumentNotValidException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23643874/

10-10 23:28