SpringBoot3怎么做统一结果封装?

在开发基于Spring Boot的应用程序时,统一结果封装是一个非常有用的技术,特别是在生产项目中,它可以帮助我们每个团队成员输出统一的结果格式,提高代码的可维护性和可读性。

一、封装作用

  1. 便于前端调用 在传统的开发中,接口返回的结果往往是各种形式的,包括不同的状态码、不同的数据格式等,这给前端开发和接口调用带来了一定的困扰。通过统一结果封装,我们可以定义一套统一的返回格式,包括状态码、消息和数据,使得前端人员调用更加方便。
  2. 减少后端开发量 通过统一结果封装,后端开发人员可以直接使用封装的结果类,减少重复的代码编写,提高开发效率,减少出错的可能性。
  3. 提高接口可维护性 统一结果封装可以使接口返回结果更加规范和易于理解,降低了接口变更对前后端代码的影响,提高了代码的可维护性和可读性。

二、封装实现

在Spring Boot应用中实现统一结果封装通常包括以下几个步骤:

1 创建统一结果封装类

首先,我们需要创建一个统一的结果封装类,用于包装接口返回的结果。这个类通常包括状态码、消息、数据和时间戳字段:

 

java

代码解读

复制代码

package com.one.pojian.entity.base; import lombok.Data; /** * @description:结果统一封装 * @version: $ */ @Data public class Result { private String code; private String message; private Object data; private Long timeStamp; public static Result initResult(ResultCode resultCode) { Result result = new Result(); result.setCode(resultCode.getCode()); result.setMessage(resultCode.getMessage()); result.setTimeStamp(System.currentTimeMillis()); return result; } public static Result success() { Result result = Result.initResult(ResultCode.SUCCESS); return result; } public static Result success(Object data) { Result result = Result.initResult(ResultCode.SUCCESS); result.setData(data); return result; } public static Result fail() { Result result = Result.initResult(ResultCode.FAILURE); return result; } public static Result fail(ResultCode resultCode) { Result result = Result.initResult(resultCode); return result; } }

2 状态枚举类

在统一结果封装中,通常会定义一个状态枚举类来表示接口返回结果的状态。这样可以统一管理接口返回的状态码和状态信息,提高代码的可读性和可维护性。

 

java

代码解读

复制代码

package com.one.pojian.entity.base; import lombok.Getter; @Getter public enum ResultCode { SUCCESS("00000", "请求成功"), FAILURE("99999", "请求失败"), EMPTY_PARAM("A0410", "请求必填参数为空"); private String code; private String message; ResultCode(String code, String message) { this.code = code; this.message = message; } }

三、调用测试

测试方法:

 

kotlin

代码解读

复制代码

@RequestMapping("/testFail") public Result testFail() { return Result.fail(ResultCode.EMPTY_PARAM); }

测试结果

 

json

代码解读

复制代码

{ "code": "A0410", "message": "请求必填参数为空", "data": null, "timeStamp": 1713352769949 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值