SpringBoot快速使用数据校验

SpringBoot 项目提供了快速的进行项目校验的操作

  1. 创建 SpringBoot 项目时勾选 I/O 中的 Validation ,引入数据校验使用的依赖
  2. 创建 User 类,并在要校验的属性上面写上需要校验的注解,例如:
    SpringBoot快速使用数据校验_第1张图片3. 创建 UserController 进行测试,使用 Postman 发送请求。UserController 如下:
    SpringBoot快速使用数据校验_第2张图片4. 发送请求并查看控制台日志
    SpringBoot快速使用数据校验_第3张图片
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,以及分组的接口如下:
SpringBoot快速使用数据校验_第4张图片SpringBoot快速使用数据校验_第5张图片在这里插入图片描述
SpringBoot快速使用数据校验_第6张图片

发送Postman 请求:
SpringBoot快速使用数据校验_第7张图片SpringBoot快速使用数据校验_第8张图片可以看到是没有校验 age 了。

你可能感兴趣的:(笔记,spring,spring,boot,java)