使用Srping Validaion进行参数校验能简化繁琐的代码,来校验前端送来的参数的合法性

使用步骤

1、先引入依赖


<!-- Spring Boot Starter Validation -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

2、在要检验的参数前面添加@Patten,用正则表达式来去验证参数合法性

3、在Controller类前添加@Validated注解,只要添加了这个注解,Spring才回去扫描添加在参数前的注解

当我们再启动时,在postman中输入非法信息,会给返回如下提示

这并不符合我们的业务需求,我们需要一个全局异常处理器来捕获这些异常

全局异常处理器

  1. @RestControllerAdvice

    • 这是一个Spring框架注解,用于定义一个全局异常处理器。它会捕获并处理在整个Spring应用中发生的异常。

    • @RestControllerAdvice可以作用于类和方法上,但通常作用于类上,以便在整个控制器层中捕获异常,这个类就是全局异常处理器类(GlobalExceptionHandler)

类下可任意创建一个方法,但要在方法前加上注解@ExceptionHandler(Exception.class),这个注解表示,拦截到Exception.class这个类,我会交给这个方法处理

  1. e.printStackTrace();

    • 这行代码用于将异常的堆栈跟踪信息打印到控制台。

    • 这可以帮助开发者调试时查看异常的具体原因。