Web前端最全使用@ControllerAdvice如何返回给前端对应错误码(2),2024年最新腾讯Web前端面试必问

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

}

我们在对应异常处理的上面加上ResponseStatus注解就能将系统异常转换为对应的Http状态码,这部分工作由ResponseStatusExceptionResolver这个类完成,下面是关键代码:

protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response,

Object handler, Exception ex) {

ResponseStatus responseStatus = AnnotatedElementUtils.findMergedAnnotation(ex.getClass(), ResponseStatus.class);

if (responseStatus != null) {

try {

return resolveResponseStatus(responseStatus, request, response, handler, ex);

}

catch (Exception resolveEx) {

logger.warn(“Handling of @ResponseStatus resulted in Exception”, resolveEx);

}

}

else if (ex.getCause() instanceof Exception) {

ex = (Exception) ex.getCause();

return doResolveException(request, response, handler, ex);

}

return null;

}

protected ModelAndView resolveResponseStatus(ResponseStatus responseStatus, HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex) throws Exception {

int statusCode = responseStatus.code().value();

String reason = responseStatus.reason();

if (!StringUtils.hasLength(reason)) {

response.sendError(statusCode);

}

else {

String resolvedReason = (this.messageSource != null ?

this.messageSource.getMessage(reason, null, reason, LocaleContextHolder.getLocale()) :

reason);

response.sendError(statusCode, resolvedReason);

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值