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

电子商务网站开发课程简介php免费网站空间

电子商务网站开发课程简介,php免费网站空间,科技公司名称大全,莆田网站建设电话文章目录 背景分析使用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.dnsts.com.cn/news/171092.html

相关文章:

  • 网站没服务器行吗网站设计改版
  • 什么网站权重高app开发团队公司
  • 衡水城乡建设局网站公司部门团建活动策划方案
  • app网站建设WordPress优化速度插件
  • 模块建站平台国外wordpress
  • 做网站成本做衣服视频有些什么网站
  • 互联网技术的概念爱站网seo工具
  • 创建网站的向导和模板 信息技术教资面试做机械设备销售的那个网站好
  • 建设部网站资质查询6中国电力建设集团网站
  • 做视频网站可以自学吗网游推广
  • 自己做的网站提示不安全吗大连网站建设咨询
  • 网站php环境搭建网站百度百科怎么做
  • wordpress 源文件导入邢台seo关键词引流
  • 厦门在线制作网站《php网站开发》课程资料
  • 电商网站建设试题西宁互联网公司
  • 做网站备完备案需要干什么动态的网站大概多少钱
  • 网站查询服务器ip河北城乡住房建设厅网站
  • 南京哪家做网站好网站建设的业务好做吗
  • 郑州大学现代远程教育 《网页设计与网站建设》个人主页淮南做网站推广
  • 交互式网站的发展做网站多少钱
  • 企业网站建设平台开发公司合作协议
  • 广州网络营销服务公司宁波seo
  • 网站为什么做黄词骗流量怎么做互联网推广
  • 如何做能上传视频网站西安注册公司在哪个网站
  • 兰州网站建设与优化推广信息发布平台
  • 怎么选择网站建设公司电子商务营销策略有哪些
  • 安庆市网站建设制作网站开发方案及报价
  • 怎样做免费商城网站推广普通话手抄报模板
  • 南和邢台网站制作网站代码 商品添加分类
  • 网站建设与管理题目深圳建网站的公司