springboot全局异常处理(传入参数校验)

 

1.导入依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

 

 

2.创建全局异常处理类

@RestControllerAdvice
public class ProjectExceptionAdvice {

//    拦截所有异常错误,如果没有自定义 只要有报错就会被这里拦截
    @ExceptionHandler
    public ApiRequest doException(Exception e){
        e.printStackTrace();//        输入异常到控制台
        return new ApiRequest(false,"服务器出现异常,请稍后再试");
    }

//   自定义拦截, 拦截传入参数非空判断
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public ApiRequest NotValidException(MethodArgumentNotValidException e){
        e.printStackTrace();
        String message = e.getBindingResult().getFieldError().getDefaultMessage();
        return ApiRequest.faild(message);
    }
    
}

 

3.使用

【传入参数Param类】

@Data
public class LoginParam {
    @NotBlank(message = "账号不能为空")
    private String username;
    private String password;


}

 

【Controller】

接收参数加入该注解:

@Validated

 

 

ok

 

posted @ 2022-03-04 09:28  Hello霖  阅读(193)  评论(0编辑  收藏  举报