SpringBoot 项目提供了快速的进行项目校验的操作
- 创建 SpringBoot 项目时勾选 I/O 中的 Validation ,引入数据校验使用的依赖
- 创建 User 类,并在要校验的属性上面写上需要校验的注解,例如:
3. 创建 UserController 进行测试,使用 Postman 发送请求。UserController 如下:
4. 发送请求并查看控制台日志
2021-07-27 22:26:19.649 WARN 5596 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'user' on field 'age': rejected value [300]; codes [Max.user.age,Max.age,Max.java.lang.Integer,Max]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.age,age]; arguments []; default message [age],200]; default message [你能活这么久?]]
SpringBoot 进行数据校验的操作非常简单,还有其他的注解可以使用,例如 @Email 校验邮箱格式等。
并且在 Controller 中可以通过添加 BindResult 参数可以返回错误信息。因应用场景不多,故不再赘述。
还有一种操作是可以对校验的参数进行分组操作,例如我需要在某个方法中只需要校验 id 不用校验 age。
User,UserController,以及分组的接口如下:
发送Postman 请求:
可以看到是没有校验 age 了。