SpringBoot之统一异常处理
package com.geniuses.sewage_zero_straight.exception; import com.geniuses.sewage_zero_straight.enums.CodeAndMsgEnum; /**
* 字段取值无效异常
*/
public class FieldValueInvalidException extends RuntimeException { //CodeAndMsgEnum 定义了一个枚举类
public FieldValueInvalidException(CodeAndMsgEnum codeAndMsgEnum){
super(codeAndMsgEnum.getMsg());
this.code = codeAndMsgEnum.getCode();
this.msg = codeAndMsgEnum.getMsg();
} public FieldValueInvalidException(int code, String msg){
this.code = code;
this.msg = msg;
} private int code;
private String msg; public int getCode() {
return code;
} public void setCode(int code) {
this.code = code;
} public String getMsg() {
return msg;
} public void setMsg(String msg) {
this.msg = msg;
}
}
2、定义异常处理器
package com.geniuses.sewage_zero_straight.advice; import com.geniuses.sewage_zero_straight.bean.view.ResultView;
import com.geniuses.sewage_zero_straight.exception.FieldValueInvalidException;
import com.geniuses.sewage_zero_straight.exception.ParamNotExistException;
import com.geniuses.sewage_zero_straight.exception.ResourceNotExistException;
import com.geniuses.sewage_zero_straight.util.ResultViewUtil;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; /**
* controller错误处理增强器
*/
@org.springframework.web.bind.annotation.ControllerAdvice
public class ControllerAdvice { /**
* 全局ParamNotExistException异常处理器
* @param paramNotExistException
* @return
*/
@ResponseBody
@ExceptionHandler(value = ParamNotExistException.class)
public ResultView paramNotExistExceptionHandler(ParamNotExistException paramNotExistException){
return ResultViewUtil.init(paramNotExistException.getCode(), paramNotExistException.getMsg(), null);
} /**
* 全局ResourceNotExistException异常处理器
* @param resourceNotExistException
* @return
*/
@ResponseBody
@ExceptionHandler(value = ResourceNotExistException.class)
public ResultView resourceNotExistException(ResourceNotExistException resourceNotExistException){
return ResultViewUtil.init(resourceNotExistException.getCode(), resourceNotExistException.getMsg(), null);
} /**
* 全局FieldValueInvalidException异常处理器
* @param fieldValueInvalidException
* @return
*/
@ResponseBody
@ExceptionHandler(value = FieldValueInvalidException.class)
public ResultView fieldValueInvalidException(FieldValueInvalidException fieldValueInvalidException){
return ResultViewUtil.init(fieldValueInvalidException.getCode(), fieldValueInvalidException.getMsg(), null);
}
}
SpringBoot之统一异常处理的更多相关文章
- Springboot项目统一异常处理
Springboot项目统一异常处理 一.接口返回值封装 1. 定义Result对象,作为通用返回结果封装 2. 定义CodeMsg对象,作为通用状态码和消息封装 二.定义全局异常类 三.定义异常处理 ...
- SpringBoot 统一异常处理
统一异常处理: @ControllerAdvice public class GlobalExceptionHandler { private Logger logger = LoggerFactor ...
- 【异常处理】Springboot对Controller层方法进行统一异常处理
Controller层方法,进行统一异常处理 提供两种不同的方案,如下: 方案1:使用 @@ControllerAdvice (或@RestControllerAdvice), @ExceptionH ...
- spring 或 springboot统一异常处理
spring 或 springboot统一异常处理https://blog.csdn.net/xzmeasy/article/details/76150370 一,本文介绍spring MVC的自定义 ...
- 配置springboot在访问404时自定义返回结果以及统一异常处理
在搭建项目框架的时候用的是springboot,想统一处理异常,但是发现404的错误总是捕捉不到,总是返回的是springBoot自带的错误结果信息. 如下是springBoot自带的错误结果信息: ...
- springboot返回统一接口与统一异常处理
springboot返回统一接口与统一异常处理 编写人员:yls 编写时间:2019-9-19 0001-springboot返回统一接口与统一异常处理 简介 创建统一的返回格式 Result 封装统 ...
- SpringBoot小技巧:统一异常处理
SpringBoot小技巧:统一异常处理 情景描述 对于接口的定义,我们通常会有一个固定的格式,比如: 但是调用方在请求我们的API时把接口地址写错了,就会得到一个404错误,且不同于我们定义的数据格 ...
- springboot中web应用的统一异常处理
在web应用中,请求处理过程中发生异常是非常常见的情况.springboot为我们提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异 ...
- SpringBoot统一异常处理后TX-LCN分布式事务无法捕获异常进行回滚
通常我们使用SpringBoot都会进行统一异常处理,例如写一个BaseController,在BaseController里进行统一异常处理,然后其他的Controller都继承BaseContro ...
随机推荐
- iOS - View的抖动效果
/** * 抖动效果 * * @param view 要抖动的view */ - (void)shakeAnimationForView:(UIView *) view { CALayer *view ...
- CentOS6.5 下将 Python2.6.6 升级到Python3.5
一. 从Python官网到获取Python3的包, 切换到目录/usr/local/src #wget https://www.python.org/ftp/python/3.5.1/Python-3 ...
- django和flask的区别
转载至https://blog.csdn.net/tulan_xiaoxin/article/details/79132214 (1)Flask Flask确实很“轻”,不愧是Micro Framew ...
- 使用SQL手动创建数据库并创建一个具有该数据库所有权限的用户
$ mysql -u adminusername -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. ...
- hdu5955 Guessing the Dice Roll【AC自动机】【高斯消元】【概率】
含高斯消元模板 2016沈阳区域赛http://acm.hdu.edu.cn/showproblem.php?pid=5955 Guessing the Dice Roll Time Limit: 2 ...
- POJ 1815 - Friendship - [拆点最大流求最小点割集][暴力枚举求升序割点] - [Dinic算法模板 - 邻接矩阵型]
妖怪题目,做到现在:2017/8/19 - 1:41…… 不过想想还是值得的,至少邻接矩阵型的Dinic算法模板get√ 题目链接:http://poj.org/problem?id=1815 Tim ...
- 卿学姐与公主 UESTC - 1324 分块模板题
题意:http://acm.uestc.edu.cn/#/problem/show/1324 中文题,自己看喽. 题解:分块模板,update时顺便更新块属性.ask时先判掉belong[l]==be ...
- ArcGIS API for javascript开发笔记(四)——GP服务调用之GP模型的规范化制作详解
感谢一路走来默默陪伴和支持的你~~~ -------------------欢迎来访,拒绝转载------------------- 在之前的利用Python分析GP服务运行结果的输出路径 & ...
- spring boot继承web和mybatis时,调用接口删除记录出现的空指针以及解决办法
前两天在学spring boot的时候,出现了一个很奇怪的错误,因为是第一次使用spring boot,所以没想到会遇到这种莫名其妙的bug,即调用接口删除数据库中一条记录的时候,数据库中记录事实上以 ...
- hmm前后向算法
跟医生就医推导过程是一样的 隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数 隐马尔科夫模型HMM ...