栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot全局异常处理原理(spring异常处理机制)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot全局异常处理原理(spring异常处理机制)

SpringBoot异常响应的处理 一、前言

在前后端交互的模式中,前后端会统一规范返回数据的格式。但在生产环境中,由于系统异常或bug的原因可能会产生异常,导致无法返回规定的格式数据。

SpringBoot中规范数据的一个例子

定义R类统一数据返回的格式

@Data
public class R {
    private Boolean flag;
    private Object data;
    private String msg;
    public R(Boolean flag) {
        this.flag = flag;
    }

    public R(Boolean flag, Object data) {
        this.flag = flag;
        this.data = data;
    }
}
// 在controller中
@GetMapping
public R getAll() {
    return new R(true, bookService.list());
}	

根据R类返回规范数据

{
	"flag": true,
	"data": [
		{
			"id": 1,
			"type": "java后端",
			"name": "疯狂的SpringBoot讲义",
			"description": "SpringBoot终极讲义"
		},
	],
	"msg": null
}

二、@RestControllerAdvice异常处理

@RestControllerAdvice注解异常处理类。@ExceptionHandler注解异常处理函数,根据异常类型进行处理,可以在异常处理函数内完成记录日志,通知管理员等操作。

@RestControllerAdvice
public class ProjectExceptionAdvice {

    @ExceptionHandler
    public R doException(Exception e) {
        // 纪录日志、通知等
        e.printStackTrace();
        return new R("系统异常");  // 按照规范格式返回数据
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773292.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号