Springboot2 自定义异常处理
开发过程中由于出现异常时想要返返回指定类型的json串,springboot自带的异常处理无法满足需求,自己封装异常处理类进行指定的异常处理。
import java.util.HashMap;
import java.util.Map;import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
/**
*统一处理拦截
*
*/
@ControllerAdvice//标识为controller异常处理类
public class ControllerExceptionHandler {@ResponseBody@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)//状态码500@ExceptionHandler(UserException.class)//指定异常public Map<String ,Object> UserNotExitException(UserException ue){Map<String,Object> map = new HashMap<String,Object>();map.put("id", ue.getId());map.put("message", ue.getMessage());return map;}
}
自定义异常处理类
//自定义异常类
public class UserException extends RuntimeException{private static final long serialVersionUID = 1L;private String id;private String message;public UserException(String id, String message) {super("this is user exception");this.id = id;this.message = message;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}}
运行时异常抛出
@JsonView(User.UserDetailView.class)//json视图处理器,博主下一篇文章解释,可注释掉//@RequestMapping(value="/user/{id:\\d+}",method = RequestMethod.GET)//限制id只能为数字@GetMapping("/{id:\\d+}")//正则表达式,限制传入内容只能为idpublic User getInfo(@PathVariable(name="id") String thisId){//获取url中的指定idUser u = new User();u.setUsername("1");u.setPassword("11");throw new UserException("1","我这出问题了");//抛出指定异常//return u;}
总结一下restful风格开发情况下,springboot2异常抛出时捕获处理顺序
controller -- aspec --- interceptor---filter
Springboot2 自定义异常处理相关推荐
- Spring Security 实战干货:自定义异常处理
Spring Security 实战干货:自定义异常处理 转自:https://www.cnblogs.com/felordcn/p/12142514.html 文章目录 1. 前言 2. Sprin ...
- springboot自定义异常处理
springboot自定义异常处理 参考文章: (1)springboot自定义异常处理 (2)https://www.cnblogs.com/SimpleWu/p/10044468.html 备忘一 ...
- springboot2自定义HttpTraceRepository
序 本文主要研究下springboot2自定义HttpTraceRepository Configuration @Configuration @ConditionalOnWebApplication ...
- 玩转springboot:自定义异常处理和深入异常处理原理
点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本 ...
- Web框架——Flask系列之abort函数与自定义异常处理(十三)
一.abort函数 使用abort函数可以立即终止视图函数的执行,并可以返回给前端特定的信息 传递状态码信息,必须是标准的http状态码 abort(403) 传递响应体信息 resp = Respo ...
- ThinkPHP6项目基操(13.实战部分 项目中的自定义异常处理总结 错误页面API错误)
项目中的自定义异常处理总结 错误页面&API错误 前言 一.异常分类 1. 控制器找不到 2. 方法找不到 3. 请求资源不存在 4. 系统內部异常.HTTP异常等 二.异常处理 1. 前置处 ...
- ASP.NET AJAX入门系列(8):自定义异常处理
在UpdatePanel控件异步更新时,如果有错误发生,默认情况下会弹出一个Alert对话框显示出错误信息,这对用户来说是不友好的,本文看一下如何在服务端和客户端脚本中自定义异常处理,翻译自官方文档. ...
- C++自定义异常处理
C++自定义异常处理 参考文章: (1)C++自定义异常处理 (2)https://www.cnblogs.com/qinwanlin/p/5486061.html (3)https://www.co ...
- tp5 ThinkPHP5 自定义异常处理类
tp5 ThinkPHP5 自定义异常处理类 参考文章: (1)tp5 ThinkPHP5 自定义异常处理类 (2)https://www.cnblogs.com/pyspang/p/11095414 ...
最新文章
- VC++技术内幕(三)
- ios单应用模式_如何为iOS 13暗模式设置应用
- 带你感受小而美的看板协作工具Leangoo的魅力
- Servlet 第六课: Session的使用
- 同步 异步 阻塞 非阻塞概念区分
- 《智能路由器开发指南》——2.3 使用VirtualBox部署
- 预防鼻炎以及空气污染对策
- ASP.NET 2.0 中的新增服务、控件与功能概述(四)
- java jar killed_容器中Java 程序OOMKilled原因浅析
- leetcode 349. 两个数组的交集 思考分析
- c语言斐波那契数列_剑指Offer-10-I.斐波那契数列
- LeetCode 523. Continuous Subarray Sum
- flowable工作流 流程变量_互联网架构设计漫谈 (6)-90%的架构师都知道的工作流原理...
- JavaScript 基础--- (正则表达式 / 事件监听与绑定)
- Codeforces Round #750 (Div. 2)
- MongoDB Database Profiling
- Java read failed_android-获取java.io.IOException:读取失败,套接...
- 今日芯声 | 连发五个“感恩”,余承东庆祝与鸿蒙OS同一天生日
- 辐射校正(传感器定标+大气校正)
- 黑白双色背景图java_黄色背景黑白双色简洁ppt图表