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

ssm:商业异常处理流程

第一步 定义全局R类制定标准

代码定义了一个通用的返回类 R<T>,用于封装API请求的结果,包括状态码、消息和数据。该类使用了Lombok的@Data注解来减少样板代码(如getter、setter方法等)的编写。以下是代码的一些解释和建议:                     

  • 泛型类 R:这个类是一个泛型类,能够处理任意类型的数据返回。

  • 属性

    • code: 状态码,用来表示操作结果的状态。
    • msg: 消息,通常用来描述操作的结果或错误信息。
    • data: 泛型类型,实际返回的数据内容。
  • 静态方法

    • OK(T data) 和 OK():用于创建成功的响应对象,其中包含一个状态码200和消息"成功"。前者接受一个参数作为数据部分,后者不携带数据。
    • error(Integer code, String msg):用于创建错误的响应对象,允许调用者指定状态码和错误消息。

第二步 创建exception 自定义BizExceptionBizExceptionEUnm枚举类型

  • 枚举类型BizExceptionEnum 是一个枚举类,每个枚举常量代表一种特定类型的业务异常,并且每一个都关联有一个错误码和一条消息。

  • 构造函数:私有的构造函数用于初始化每个枚举实例的错误码和消息。

  • Lombok @Getter 注解:通过在字段上添加 @Getter 注解,Lombok 自动生成相应的 getter 方法,简化了代码。

  • 属性

    • code: 异常状态码。
    • msg: 异常信息。
  • 构造函数

    • 第一个构造函数接受一个整型的状态码和一条消息字符串,适用于需要直接指定这些值的情况。
    • 第二个构造函数接受一个 BizExceptionEnum 枚举实例,通过该枚举实例初始化状态码和消息,这种方式提高了代码的可读性和复用性。

第三步 创造全局异常处理器的类

  • @ControllerAdvice:这个注解用于定义全局异常处理器类,它能够将异常处理逻辑集中在一个地方,而不是分散在各个控制器中。

  • @ResponseBody:该注解表明返回的对象应该直接写入HTTP响应体中(通常作为JSON格式),而不是被视为一个视图名称。

  • error(Exception e):这是一个通用的异常处理方法,捕获所有类型的异常,并返回一个包含错误信息的对象。

  • handleBizException(BizException e):这是专门用来处理自定义业务异常 BizException 的方法。它从异常对象中提取错误码和消息,并返回一个详细的错误响应。

相关文章:

  • 日志Python安全之SSTI——Flask/Jinja2
  • 双3060、Ubuntu22.04、cuda12.8安装deepseek 32b-Q8
  • 面向对象Demo02
  • Python 实现大文件的高并发下载
  • 躲藏博弈中的策略优化:整合历史数据、概率论与博弈论
  • docker pull 镜像问题
  • RGV调度(四)--排队算法
  • 智能电话机器人的技术原理是什么?AI语音机器人评判标准是什么?
  • 数学建模之数学模型-3:动态规划
  • Liunx启动kafka并解决kafka时不时挂掉的问题
  • 用Python实现持续集成与部署(CI/CD)流程:自动化测试、构建与部署
  • 《AI浪潮中的璀璨新星:Meta Llama、Ollama与DeepSeek的深度剖析》:此文为AI自动生成
  • 基于yolov8+streamlit实现目标检测系统带漂亮登录界面
  • 第三周日志-web(2)
  • 使用AOP + Prometheus + node-exporter + grafana 实现Java系统的接口监控(实操)
  • 蓝桥杯好题推荐---子集
  • 05 | 使用 Cobra 包来构建你的 Go 项目
  • 11a-PPDU
  • 未来社交媒体的发展趋势:TikTok 与虚拟现实的结合
  • 编程自学指南:java程序设计开发,多线程编程,为什么需要多线程?线程的创建与启动,线程同步与锁机制,线程池
  • 河南省委常委会会议:坚持以案为鉴,深刻汲取教训
  • 沙青青评《通勤梦魇》︱“人机组合”的通勤之路
  • 崔登荣任国家游泳队总教练
  • 中哥两国元首共同见证签署《中华人民共和国政府与哥伦比亚共和国政府关于共同推进丝绸之路经济带和21世纪海上丝绸之路建设的合作规划》
  • “救护车”半路加价?陕西卫健委已介入,记者调查:黑救护车挤占市场
  • 英媒:英国首相住所起火,目前无人伤亡