@Vaild 注解
需要使用BingdingResult来做校验结果接收
可以用于嵌套校验
可以贴在字段上
@Validated注解
在检验 Controller 的入参是否符合规范时,当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,需要一个全局校验异常捕获处理类
不可以贴在字段上
不能嵌套校验
都是用来做参数校验的
@Validated 是在 @Valid 基础上,做的一个升级版
<!-- validation校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
</dependency>
在实体类贴上校验注解
在Controller贴上参数校验的注解
自定义统一处理异常
/**
* @author: 南瓜战士
* @create-date: 2023/2/11 20:44
* 通用异常处理类
* 全局接口异常处理的类,当发生异常没有捕获时,便会触发这个异常
*/
@RestControllerAdvice
public class CommonExceptionHandler
{
/**
* Spring Validation 框架异常
* @param e
* @return
*/
@ExceptionHandler(BindException.class)
public JsonResult BindException(BindException e)
{
return JsonResult.error(500, e.getBindingResult().getFieldError().getDefaultMessage(),null);
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务