验证

Web MVC 内置了对 @RequestMapping 方法的 验证 支持, 包括使用 Java Bean 验证 的选项。验证支持在两个层面上工作。

首先,对于 @ModelAttribute@RequestBody@RequestPart 方法参数的解析器, 如果参数具有 Jakarta 的 @Valid 或框架的 @Validated 注解,则执行验证,并在必要时引发 MethodArgumentNotValidException。 或者,你可以通过在验证参数之后立即添加一个 ErrorsBindingResult 方法参数来在控制器方法中处理错误。

你可以通过 Web MVC 配置 全局配置一个 Validator,或者通过 @Controller@ControllerAdvice 中的 @InitBinder 方法局部配置。你也可以使用多个验证器。

错误响应 部分提供了关于如何处理 MethodArgumentNotValidException 的进一步详细信息,以及如何通过 MessageSource 和特定于地区和语言的资源包自定义它们的渲染。

对于方法验证错误的进一步自定义处理,你可以扩展 ResponseEntityExceptionHandler 或在控制器或 @ControllerAdvice 中使用 @ExceptionHandler 方法。