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;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


