是否有任何方法可以通过@ExceptionHandler 将多种错误类型放入一个对象中

Is there any method to put multiple error types into one objects by @ExceptionHandler

这是我第一次在Whosebug 提出问题。请问有没有一种方法可以通过@ExceptionHandler将多个错误类型同时抛回一个对象给用户?

例如用户请求服务时需要满足以下条件

(1) accountNo : required
(2) userDecision : @Pattern(regex="^[1|2]$")

但是,用户省略了accountNo(MissingServletRequestParameterException),输入userDecision为3(ContraintViolationException)。那我有没有可能丢回一个 Json 像

这样的对象
 [
    {
        "error1":"your accnoutNo is empty",
        "error2":"your decision is wrong"
    }
] 

同时给用户?

非常感谢,抱歉我的英语不好。

您可以实施自定义验证器 (https://docs.spring.io/spring/docs/4.1.x/spring-framework-reference/html/validation.html) 并在验证方法中拒绝这些值。

之后,您可以在处理 ValidationExceptions 的地方使用此验证器的 @ControllerAdvice 注释实现异常处理程序(扩展 ResponseEntityExceptionHandler)。

看看这个:也许有帮助