Spring Boot如何使用统一异常处理呢?

戚薇 SpringBoot 发布时间:2023-06-08 14:29:06 阅读数:4353 1
下文笔者讲述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;
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202306/6750.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者