文档章节

SpringBoot 全局异常处理

從此迷花粉
 從此迷花粉
发布于 2018/08/13 13:54
字数 330
阅读 23
收藏 0

全局异常配置只需要添加一个全局的类即可,即配置全局异常Handler。

使用@ControllerAdvice

@ControllerAdvice注解是用来配置控制器通知的,可以配置过滤拦截具体一种或者多种类型的注解,添加annotations属性即可,

@ExceptionHandler注解用来配置需要拦截的异常类型,默认是全局类型。@ResponseStatus注解用于配置遇到该异常后返回数据时的StatusCode的值,这里默认使用值500。在类的上方配置了@ControllerAdvice的annotations属性值为RestController.class,也就是只有添加了@RestController注解的控制器才会进入全局异常处理。

RestExceptionHandler全局处理类代码如下所示:

/**
 * @author cherrish
 * @time 2018-08-12 11:29
 * @name RestExceptionHandler
 * @desc: result 异常统一处理
 */
@ControllerAdvice(annotations = RestController.class)
@ResponseBody
@Slf4j
public class RestExceptionHandler {
    @ExceptionHandler
    @ResponseStatus
    public RestResp runtimeExceptionHandler(Exception e){
        log.error("Runtime exception: ", e.getMessage(),e);
        return RestResp.fail("服务器繁忙,请稍后再试!",null);
    }
}

返回数据格式RestResp:

{
    "status": -1,
    "message": "服务器繁忙,请稍后再试",
    "data": null
}

 

© 著作权归作者所有

從此迷花粉

從此迷花粉

粉丝 7
博文 175
码字总数 64022
作品 0
海淀
程序员
私信 提问
SpringBoot基于@ControllerAdvice配置全局异常处理

版权声明:欢迎访问,本文为小编原创文章 https://blog.csdn.net/changyinling520/article/details/81431490 SpringBoot默认全局异常处理 SpringBoot提供了一个默认的映射:/error,当处理中抛...

火腿编程
2018/08/05
0
0
SpringBoot RESTful 应用中的异常处理小结

@ControllerAdvice 和 @ExceptionHandler 的区别 ExceptionHandler, 方法注解, 作用于 Controller 级别. ExceptionHandler 注解为一个 Controler 定义一个异常处理器. ControllerAdvice, 类注......

xiaogong1688
2018/06/29
0
0
SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver

关于Web应用的全局异常处理,上一篇介绍了结合的方式来实现web应用的全局异常管理; 本篇博文则带来另外一种并不常见的使用方式,通过实现自定义的,来处理异常状态 上篇博文链接: SpringBoo...

小灰灰Blog
10/14
8
0
SpringBoot系列教程web篇之全局异常处理

当我们的后端应用出现异常时,通常会将异常状况包装之后再返回给调用方或者前端,在实际的项目中,不可能对每一个地方都做好异常处理,再优雅的代码也可能抛出异常,那么在 Spring 项目中,可...

小灰灰Blog
10/11
49
0
恒宇少年/spring-boot-chapter

简书整套文档以及源码解析 专题 专题名称 专题描述 001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件 002 Spring Cloud 核心技术 对Spring Cloud核心技术全面讲解 003 Quer...

恒宇少年
2018/04/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
20分钟前
2
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
21分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
25分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
25分钟前
3
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
33分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部