您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页Spring Validation校验框架学习

Spring Validation校验框架学习

来源:榕意旅游网

@Vaild 注解

  • 需要使用BingdingResult来做校验结果接收

  • 可以用于嵌套校验

  • 可以贴在字段上

@Validated注解

  • 在检验 Controller 的入参是否符合规范时,当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,需要一个全局校验异常捕获处理类

  • 不可以贴在字段上

  • 不能嵌套校验

都是用来做参数校验的

@Validated 是在 @Valid 基础上,做的一个升级版

Spring Validation的使用

        <!-- 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>
  1. 在实体类贴上校验注解

  1. 在Controller贴上参数校验的注解

  1. 自定义统一处理异常

/**
 * @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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务