SpringBoot(三) 全局异常拦截@ControllerAdvice 系统管理员 2023-05-29 03:00 33阅读 0赞 @ControllerAdvice这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能: * 全局异常处理 * 全局数据绑定 * 全局数据预处理 第一步:采用@ControllerAdvice现在用它来做下全局异常处理,代码如下: package com.springboot.exceptionHandler; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import java.util.HashMap; import java.util.Map; @ControllerAdvice public class MyGlobalExceptionHandler { @ExceptionHandler(Exception.class) @ResponseBody public Map<String,Object> customException(Exception e) { Map<String,Object> result=new HashMap<String,Object>(); result.put("erroeCode","500"); result.put("errorMsg","系统错误"); return result; } } 第二步:编写一个会抛异常的方法: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlvbmdsaWFuZ184MTM_size_16_color_FFFFFF_t_70] @RequestMapping("/errorCtl") public String errorCtl(){ int a=1/0; return a+""; } 第三步:在浏览器上输入[http://127.0.0.1:8080/errorCtl][http_127.0.0.1_8080_errorCtl] 返回如下结果,表示全局异常捕获已经搞定。 ![在这里插入图片描述][20191102102111720.png] 如果我们把异常捕获的bean去掉,再去 请求[http://127.0.0.1:8080/errorCtl][http_127.0.0.1_8080_errorCtl],则展示结果应该是英文 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlvbmdsaWFuZ184MTM_size_16_color_FFFFFF_t_70 1] 当然我们这里是测试而已,如果是真正的项目开发,这里会跳转到一个错误处理界面。 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlvbmdsaWFuZ184MTM_size_16_color_FFFFFF_t_70]: https://img-blog.csdnimg.cn/20191102102002588.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlvbmdsaWFuZ184MTM=,size_16,color_FFFFFF,t_70 [http_127.0.0.1_8080_errorCtl]: http://127.0.0.1:8080/errorCtl [20191102102111720.png]: https://img-blog.csdnimg.cn/20191102102111720.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlvbmdsaWFuZ184MTM_size_16_color_FFFFFF_t_70 1]: https://img-blog.csdnimg.cn/201911021023045.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXlvbmdsaWFuZ184MTM=,size_16,color_FFFFFF,t_70
相关 SpringBoot(三) 全局异常拦截@ControllerAdvice @ControllerAdvice这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能: 全局异常处理 全局数据绑定 系统管理员/ 2023年05月29日 03:00/ 0 赞/ 34 阅读
相关 @ControllerAdvice全局处理异常 @ControllerAdvice,是Spring3.2提供的新注解,它是一个Controller增强器,可对controller中被 @RequestMapping注解的方法 短命女/ 2022年11月13日 00:50/ 0 赞/ 278 阅读
相关 Springboot(十一)@ControllerAdvice全局异常处理 前言: @ControllerAdvice,用于全局异常处理,减少代码入侵,必须在controller层抛出来,若异常在代码中被抓住了,没有抛出来,是不起作 短命女/ 2022年05月22日 12:22/ 0 赞/ 322 阅读
相关 @ControllerAdvice 全局异常处理 [ControllerAdvice 文档][ControllerAdvice] 在spring 3.2中,新增了@ControllerAdvice 注解,它通常用于定义 迈不过友情╰/ 2022年04月25日 01:36/ 0 赞/ 353 阅读
相关 springboot全局异常处理实例——@ControllerAdvice+ExceptionHandler 文章目录 一、全局捕获异常后,返回json给浏览器 1、自定义异常类 MyException.java 系统管理员/ 2022年03月15日 04:10/ 0 赞/ 390 阅读
相关 @ControllerAdvice 异常拦截 在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute ╰半夏微凉°/ 2022年03月06日 15:08/ 0 赞/ 286 阅读
相关 springboot全局异常拦截 1.异常拦截类的创建 package com.liqi.web.core.exception; import org.springframewo 左手的ㄟ右手/ 2022年01月26日 09:49/ 0 赞/ 416 阅读
相关 springboot全局异常处理 --- @ControllerAdvice 1、首先我们可以针对自己的业务创建自定义异常,系统层面,业务方面等 我们系统业务层统一使用BizException,这个是自定义的。 2、配置controllerAd 偏执的太偏执、/ 2021年11月22日 13:50/ 0 赞/ 502 阅读
相关 @ControllerAdvice @ExceptionHandler @ResponseStatus spring全局异常拦截 1:@ControllerAdvice:全局捕获异常,异常集中处理,更好的使业务逻辑与异常处理剥离开 把@ControllerAdvice定义在一个类上,该类则负责捕获 迈不过友情╰/ 2021年11月16日 23:02/ 0 赞/ 405 阅读
还没有评论,来说两句吧...