Spring Boot如何使用统一异常处理呢?
下文笔者讲述SpringBoot统一异常处理的方法分享,如下所示
统一异常处理的实现思路
使用@ControllerAdvice注解 结合@ExceptionHandler即可实现统一异常处理例:统一异常处理类
//1.引入验证依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> //2.定义实体类 package com.java265.req; import lombok.Data; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; @Data public class PageRequest { @NotNull(message = "页码不能为空") @Min(value = 0, message = "页码不能为负") private Integer page; @NotNull(message = "每页条数不能为空") @Min(value = 1, message = "每页条数至少为1条") @Max(value = 1000, message = "每页条数不能超过1000") private Integer size; } //3.编写 统一异常处理类 /*** * 统一异常处理、数据预处理 */ @ControllerAdvice public class ControllerExceptionHandler { @ExceptionHandler(value = BindException.class) @ResponseBody public CommonResp validExceptionHandler(BindException e){ CommonResp commonResp = new CommonResp(); commonResp.setSuccess(false); e.printStackTrace(); commonResp.setMessage(e.getBindingResult().getAllErrors().get(0).getDefaultMessage()); return commonResp; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。