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 的方法。它从异常对象中提取错误码和消息,并返回一个详细的错误响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值