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

衡阳网站建设步骤优化设计答案六年级

衡阳网站建设步骤,优化设计答案六年级,建设网站的公司济南兴田德润o评价,wordpress验证码无效前言 软件开发springboot项目过程中,不可避免的需要处理各种异常,spring mvc 架构中各层会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器&#x…

前言

软件开发springboot项目过程中,不可避免的需要处理各种异常,spring mvc 架构中各层会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器,以便业务层再也不必处理异常。

推荐理由

  • 代码复制到项目中通过简单的配置即可实现

  • 可以灵活的根据自己的业务异常进行更细粒度的扩展

实践

1 封装统一返回结果类

源代码

public class AjaxResult {//是否成功private Boolean success;//状态码private Integer code;//提示信息private String msg;//数据private Object data;public AjaxResult() {}//自定义返回结果的构造方法public AjaxResult(Boolean success,Integer code, String msg,Object data) {this.success = success;this.code = code;this.msg = msg;this.data = data;}//自定义异常返回的结果public static AjaxResult defineError(BusinessException de){AjaxResult result = new AjaxResult();result.setSuccess(false);result.setCode(de.getErrorCode());result.setMsg(de.getErrorMsg());result.setData(null);return result;}//其他异常处理方法返回的结果public static AjaxResult otherError(ErrorEnum errorEnum){AjaxResult result = new AjaxResult();result.setMsg(errorEnum.getErrorMsg());result.setCode(errorEnum.getErrorCode());result.setSuccess(false);result.setData(null);return result;}public Boolean getSuccess() {return success;}public void setSuccess(Boolean success) {this.success = success;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}}

2 自定义异常封装类

源码:

public class BusinessException extends RuntimeException {private static final long serialVersionUID = 1L;/*** 错误状态码*/protected Integer errorCode;/*** 错误提示*/protected String errorMsg;public BusinessException(){}public BusinessException(Integer errorCode, String errorMsg) {this.errorCode = errorCode;this.errorMsg = errorMsg;}public Integer getErrorCode() {return errorCode;}public void setErrorCode(Integer errorCode) {this.errorCode = errorCode;}public String getErrorMsg() {return errorMsg;}public void setErrorMsg(String errorMsg) {this.errorMsg = errorMsg;}
}

3 错误枚举,拒绝硬编码

图片

源码

public enum ErrorEnum {// 数据操作错误定义SUCCESS(200, "成功"),NO_PERMISSION(403,"你没得权限"),NO_AUTH(401,"未登录"),NOT_FOUND(404, "未找到该资源!"),INTERNAL_SERVER_ERROR(500, "服务器异常请联系管理员"),;/** 错误码 */private Integer errorCode;/** 错误信息 */private String errorMsg;ErrorEnum(Integer errorCode, String errorMsg) {this.errorCode = errorCode;this.errorMsg = errorMsg;}public Integer getErrorCode() {return errorCode;}public String getErrorMsg() {return errorMsg;}
}

4 全局异常处理类

图片

源码

/*** 全局异常处理器* */
@RestControllerAdvice
public class GlobalExceptionHandler
{private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);/*** 处理自定义异常**/@ExceptionHandler(value = BusinessException.class)public AjaxResult bizExceptionHandler(BusinessException e) {log.error(e.getMessage(), e);return AjaxResult.defineError(e);}/***处理其他异常**/@ExceptionHandler(value = Exception.class)public AjaxResult exceptionHandler( Exception e) {log.error(e.getMessage(), e);return AjaxResult.otherError(ErrorEnum.INTERNAL_SERVER_ERROR);}
}

5 测试

图片

返回结果:

http://www.hengruixuexiao.com/news/5105.html

相关文章:

  • 泰兴市住房和城乡建设局网站福州关键词优化平台
  • 支付商城网站制作推广营销软件
  • iis7 asp网站运行缓慢注册网站多少钱
  • 网站建设报价方案怎样推广app别人才愿意下载
  • 什么网站免费做游戏宁波seo推广
  • 免费企业网站建设介绍东莞整站优化
  • 专业建站分销商城app运营推广策划方案
  • 网站源码授权西安网站搭建公司
  • 2014个人网站备案6个好用的bt种子搜索引擎
  • 网站做聚合页面综合性b2b电子商务平台网站
  • 团购网站建设抖音矩阵排名软件seo
  • 网站名称与主办单位网站推广方法
  • 重庆百度关键词推广石家庄seo全网营销
  • 广州建站软件东莞做网站推广的公司
  • 模板网页生成seo网站推广是什么
  • 清河县做网站企业线上培训平台
  • 做暖暖网站雅思培训班价格一览表
  • 动感十足的网站苏州百度推广公司地址
  • 品牌网站建设 磐石网络官方网站软文广告案例500字
  • 建设网站海报文案优化设计三年级上册语文答案
  • 外贸电商网站制作怎样做推广是免费的
  • 市体育局网站 两学一做上海百度推广电话客服
  • 写网站软件搜索关键词排名查询
  • 南通网站建设机构北京网站优化服务商
  • 中国住房和城乡建设厅网站重庆森林讲的什么内容
  • 凡科网怎么制作小程序青岛seo整站优化公司
  • 哈尔滨政务性网站制作公司班级优化大师app下载学生版
  • 电子商务网站建设需要做好哪些准备软文范文大全
  • 南京家装公司有哪些品牌什么是seo搜索引擎优化
  • 那里有专业注册网站建设的网络推广工具和方法