当前位置: 首页 > news >正文

建设银行鄂州分行官方网站铜城建设集团网站

建设银行鄂州分行官方网站,铜城建设集团网站,建设企业网站有哪些,怀化网络推广哪家服务好文章目录 背景分析使用ControllerAdvice#xff08;RestControllerAdvice#xff09;ExceptionHandler实现全局异常全局异常处理-多个处理器匹配顺序存在一个类中存在不同的类中 对于过滤器和拦截器中的异常#xff0c;有两种思路可以考虑 背景 在项目中我们有需求做一个全… 文章目录 背景分析使用ControllerAdviceRestControllerAdviceExceptionHandler实现全局异常全局异常处理-多个处理器匹配顺序存在一个类中存在不同的类中 对于过滤器和拦截器中的异常有两种思路可以考虑 背景 在项目中我们有需求做一个全局异常处理来规范所有出去的异常信息。 参考官方文档 分析 首先 ControllerAdvice(RestControllerAdvice ) ControllerAdvice 是无法处理过滤器和拦截器中的异常的。 引用一张图 下面介绍controller层的全局异常设置 全局异常处理也有多种方式 使用ControllerAdviceRestControllerAdviceExceptionHandler实现全局异常 import lombok.extern.slf4j.Slf4j; 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;Slf4j ControllerAdvice public class GlobalExceptionHandler {/*** 处理参数错误的异常* param e* return*/ResponseBodyExceptionHandler(value IllegalParamsException.class)public ResultVOObject handleIllegalParamsException(IllegalParamsException e) {ResultVOObject resultVo new ResultVO();resultVo.setStatus(HttpStatus.BAD_REQUEST.value());resultVo.setErrorCode(e.getErrorInfo().getErrorCode());resultVo.setErrorMsg(e.getErrorInfo().getErrorDesc());return resultVo;}ResponseBodyExceptionHandler(value Exception.class)public ResultVOObject handleException(Exception e) {ResultVOObject resultVo new ResultVO();resultVo.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());resultVo.setErrorMsg(e.getMessage());return resultVo;} } Data AllArgsConstructor NoArgsConstructor public class ResultVOT {private Integer status;private String errorCode;private String errorMsg;private T data;public ResultVO(Integer status, String errorCode, String errorMsg) {this.status status;this.errorCode errorCode;this.errorMsg errorMsg;} }public class IllegalParamsException extends RuntimeException {private static final long serialVersionUID -6298406656682893468L;private OperationErrorEnum errorInfo;public IllegalParamsException(OperationErrorEnum errorInfo) {this.errorInfo errorInfo;}public IllegalParamsException(String message, OperationErrorEnum errorInfo) {super(message);this.errorInfo errorInfo;}public IllegalParamsException(String message, Throwable cause, OperationErrorEnum errorInfo) {super(message, cause);this.errorInfo errorInfo;}public IllegalParamsException(Throwable cause, OperationErrorEnum errorInfo) {super(cause);this.errorInfo errorInfo;}public IllegalParamsException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, OperationErrorEnum errorInfo) {super(message, cause, enableSuppression, writableStackTrace);this.errorInfo errorInfo;}public OperationErrorEnum getErrorInfo() {return errorInfo;} } 全局异常处理-多个处理器匹配顺序 参考参考 多个处理器的两种情况 存在一个类中 子类异常处理器优先 存在不同的类中 与多个异常处理类放入LinkedHashMap的顺序有关 可以利用Order指定顺序如果没有则默认最小顺序 那么如果都没有指定顺序的话那就是list中的顺序 对于过滤器和拦截器中的异常有两种思路可以考虑 1、catch后通过转发到异常页面设置ModelAndView 参考参考 2、拦截器中发生异常拦截器中直接返回错误通过response.getOutputStream().write() 直接写错误信息 如 Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {try {// 业务代码} catch (Exception e) {response.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);ResultVOObject resultVo new ResultVO();resultVo.setStatus(HttpStatus.UNAUTHORIZED.value());resultVo.setErrorMsg(ACCESS_PARAM_ERROR.getErrorDesc());response.getOutputStream().write(new String(JSON.toJSONString(resultVo)).getBytes(StandardCharsets.UTF_8));logger.error( WhiteListAndAuthenticationInterceptor拦截器拦截到了方法{} 解析鉴权参数异常 , methodName);return false;}}
http://www.w-s-a.com/news/763347/

相关文章:

  • 域名购买网站有哪些公司企业邮箱管理制度
  • 阿里云服务起做网站抖音seo推荐算法
  • 免费建站工具机械网站建设公司推荐
  • 怎么用自己主机做网站_如何做简单的网站
  • 阿里巴巴国际站跨境电商平台为什么有点网站打不开
  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营
  • 哪有app制作公司上海seo排名
  • 长沙建站seo公司北京招聘信息