springBoot中怎么自定义异常响应
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关springBoot中怎么自定义异常响应,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 自定义异常返回json数据、//
千家信息网最后更新 2026年11月01日springBoot中怎么自定义异常响应
这篇文章将为大家详细讲解有关springBoot中怎么自定义异常响应,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
1 自定义异常返回json数据、
//不要忘记添加 @ControllerAdvice
@ControllerAdvice
public class myExceptionHandler {
//浏览器和客户端返回的都是json// @ResponseBody
@ExceptionHandler(UserNotExist.class)
public MaphandlerException(Exception e){ Map map = new HashMap<>(); map.put("code","user.notexist"); map.put("message",e.getMessage()); return map;
} }
2 转发到/error下,进行自适应响应 @ControllerAdvice public class myExceptionHandler {
//浏览器和客户端返回的都是json@ExceptionHandler(UserNotExist.class)public String handlerException(Exception e, HttpServletRequest request){ Map map = new HashMap<>(); request.setAttribute("javax.servlet.error.status_code",500); map.put("code","user.notexist"); map.put("message",e.getMessage()); request.setAttribute("ext",map); return "forward:/error"; } }
3 将定制的错误携带出去 @Component
public class myErrorAtrributes extends DefaultErrorAttributes {
//WebRequest webRequest,注意1.x.x版本的写法与2.1.0写法不同,我的是2.1.0public MapgetErrorAttributes(WebRequest webRequest, boolean includeStackTrace) { Map errorAttributes = super.getErrorAttributes(webRequest,includeStackTrace); errorAttributes.put("com", "maodong"); Map ext= (Map ) webRequest.getAttribute("ext",0); errorAttributes.put("ext",ext); return errorAttributes; }
}
//为啥这么写:父类DefaultErrorAttributes类中的方法
public Map
MaperrorAttributes = new LinkedHashMap(); errorAttributes.put("timestamp", new Date()); this.addStatus(errorAttributes, webRequest); this.addErrorDetails(errorAttributes, webRequest, includeStackTrace); this.addPath(errorAttributes, webRequest); return errorAttributes;}//为啥WebRequest webRequest能得到与低版本RequestAttrributes相同的结果public interface WebRequest extends RequestAttributes {@NullableString getHeader(String var1);@NullableString[] getHeaderValues(String var1);Iterator getHeaderNames();------}//为啥 Map ext= (Map ) webRequest.getAttribute("ext",0);能获得extpublic interface RequestAttributes {int SCOPE_REQUEST = 0;int SCOPE_SESSION = 1;String REFERENCE_REQUEST = "request";String REFERENCE_SESSION = "session";@NullableObject getAttribute(String var1, int var2);void setAttribute(String var1, Object var2, int var3);void removeAttribute(String var1, int var2);
关于springBoot中怎么自定义异常响应就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
内容
写法
客户
客户端
文章
更多
浏览器
版本
知识
篇文章
浏览
不同
不错
相同
数据
方法
结果
质量
错误
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网与科技
互联网为科技
高科技与互联网
合肥互联网科技公司
互联网科技公司电话
唐信互联网科技
艾特科技互联网
广州互联网络科技有限公司
互联网科技美容
互联网科技英文翻译
互联网大会黑科技排名
湖南诚度互联网科技有限公司
来此购互联网科技有限公司
互联网科技大赛获奖感言
区块链结合互联网科技
南通创西澳互联网科技有限公司
工业互联网科技成果转化
互联网科技包装股份有限公司上市
玉溪新华互联网科技怎么选
互联网科技对化妆品行业
深圳市人人互联网科技有限公司
科技互联网企业
互联网最新的科技
伴你行互联网科技有限公司
深圳卡尔迅互联网科技有限公司怎么样
新华互联网科技2019
互联网教育科技公司vipkid
深圳育鹏互联网科技有限公司招聘
美国互联网科技实力
皮皮虾互联网科技有限公司