验证
Web MVC 内置了对 @RequestMapping
方法的 验证 支持,
包括使用 Java Bean 验证 的选项。验证支持在两个层面上工作。
首先,对于 @ModelAttribute、
@RequestBody
和 @RequestPart 方法参数的解析器,
如果参数具有 Jakarta 的 @Valid
或框架的 @Validated
注解,则执行验证,并在必要时引发 MethodArgumentNotValidException
。
或者,你可以通过在验证参数之后立即添加一个 Errors
或 BindingResult
方法参数来在控制器方法中处理错误。
你可以通过 Web MVC 配置 全局配置一个 Validator
,或者通过
@Controller
或 @ControllerAdvice
中的 @InitBinder
方法局部配置。你也可以使用多个验证器。
错误响应 部分提供了关于如何处理 MethodArgumentNotValidException
的进一步详细信息,以及如何通过 MessageSource
和特定于地区和语言的资源包自定义它们的渲染。
对于方法验证错误的进一步自定义处理,你可以扩展 ResponseEntityExceptionHandler
或在控制器或 @ControllerAdvice
中使用 @ExceptionHandler
方法。