Spring Boot 如何做请求参数校验
Spring Boot 如何做请求参数校验
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。https://store.amazingmemo.com/chapterDetail/1685324709017001`
Spring Boot 请求参数校验
Spring Boot 提供了多种方式来进行请求参数校验。通常这是通过 javax.validation
的注解以及 Spring 的 @Valid
或 @Validated
来完成的。接下来,我们将详细介绍如何使用这些工具来校验请求参数。
使用 @Valid 注解
当你使用 Spring MVC 时,可以在 Controller 层使用 @Valid
注解来开启校验功能。
示例:
1 |
|
支持的校验注解
这里是一些常用的 javax.validation
注解列表:
@NotNull
:确保字段不是 null@NotEmpty
:确保字段不是 null 或者空@NotBlank
:确保字段不是 null、空或者空白字符@Min(value)
:确保字段的值至少为 value@Max(value)
:确保字段的值最多为 value@Size(min=, max=)
:确保字段的值的大小在 min 和 max 之间@Email
:确保字段是一个电子邮件地址@Pattern(regex=)
:确保字段匹配正则表达式
实体类中的使用:
1 | public class User { |
使用 @Validated 注解
@Validated
是 Spring 提供的另一个注解,它可以被用于方法级别的校验,并且可以定义校验组。
示例:
1 |
|
错误处理
当校验失败时,Spring 会抛出 MethodArgumentNotValidException
,你可以在 Controller 中通过 BindingResult
来处理这些错误。
示例:
1 |
|
你还可以通过 @ControllerAdvice
来全局处理校验错误。
总结
Spring Boot 通过集成 javax.validation
提供了功能强大且灵活的参数校验机制。你可以通过在字段上简单地添加注解,以及在 Controller 方法中使用 @Valid
或 @Validated
注解来进行开箱即用的参数校验,并通过 BindingResult
或全局异常处理来管理错误信息。这不仅让你的应用更加安全,而且使得代码易于理解和维护。