From 327e983c466dffa4cfb2e91a4233635db44f786c Mon Sep 17 00:00:00 2001
From: lanyuanxiaoyao
Date: Tue, 6 Jan 2026 15:50:36 +0800
Subject: [PATCH] =?UTF-8?q?doc(common):=20=E4=BC=98=E5=8C=96=E7=BB=9F?=
=?UTF-8?q?=E4=B8=80=E5=93=8D=E5=BA=94=E5=92=8C=E5=B7=A5=E5=85=B7=E7=B1=BB?=
=?UTF-8?q?=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/controller/GlobalResponse.java | 252 ++++++++++++++----
.../common/controller/QueryController.java | 78 ++----
.../common/controller/RemoveController.java | 15 +-
.../common/controller/SaveController.java | 21 +-
.../template/common/helper/ObjectHelper.java | 119 +++++++--
.../service/template/common/service/Page.java | 24 +-
.../template/common/service/QueryService.java | 41 ++-
.../common/service/RemoveService.java | 15 +-
.../template/common/service/SaveService.java | 17 +-
.../controller/SimpleControllerSupport.java | 122 ++++-----
.../jpa/service/SimpleServiceSupport.java | 108 +++-----
11 files changed, 510 insertions(+), 302 deletions(-)
diff --git a/spring-boot-service-template-common/src/main/java/com/lanyuanxiaoyao/service/template/common/controller/GlobalResponse.java b/spring-boot-service-template-common/src/main/java/com/lanyuanxiaoyao/service/template/common/controller/GlobalResponse.java
index 539ce90..c61f768 100644
--- a/spring-boot-service-template-common/src/main/java/com/lanyuanxiaoyao/service/template/common/controller/GlobalResponse.java
+++ b/spring-boot-service-template-common/src/main/java/com/lanyuanxiaoyao/service/template/common/controller/GlobalResponse.java
@@ -4,69 +4,121 @@ import java.util.List;
import java.util.Map;
/**
- * 全局响应对象
+ * 全局统一API响应封装类
*
- * 该类用于统一封装API接口的响应结果,提供标准化的响应格式。
- * 通过状态码、消息和数据三个字段,清晰地表达请求的处理结果。
+ * 该类用于统一封装RESTful API接口的响应结果,提供标准化的响应格式。
+ * 通过状态码、消息和数据三个字段,清晰地表达请求的处理结果,便于前端统一处理。
*
*
- *
- * 响应格式示例:
+ *
设计特点
+ *
+ * - 使用Java Record实现,不可变,线程安全
+ * - 泛型设计,支持任意类型的数据封装
+ * - 提供丰富的静态工厂方法,简化响应对象创建
+ * - 支持分页查询、详情查询等常见场景
+ *
+ *
+ * 响应格式示例
+ * 成功响应(无数据):
+ *
+ * {
+ * "status": 0,
+ * "message": "OK",
+ * "data": null
+ * }
+ *
+ *
+ * 成功响应(带数据):
+ *
+ * {
+ * "status": 0,
+ * "message": "操作成功",
+ * "data": {
+ * "id": 1,
+ * "name": "示例数据"
+ * }
+ * }
+ *
+ *
+ * 分页列表响应:
*
* {
* "status": 0,
* "message": "OK",
* "data": {
- * "items": [...],
- * "total": 10
+ * "items": [
+ * {"id": 1, "name": "数据1"},
+ * {"id": 2, "name": "数据2"}
+ * ],
+ * "total": 100
* }
* }
*
- *
*
- *
- * 使用说明:
+ *
错误响应:
+ *
+ * {
+ * "status": 500,
+ * "message": "系统异常,请稍后重试",
+ * "data": null
+ * }
+ *
+ *
+ * 使用场景
*
- * - 成功响应: 使用 responseSuccess() 系列方法
- * - 错误响应: 使用 responseError() 系列方法
- * - CRUD操作: 使用 responseListData() 方法返回列表数据
- * - 详情查询: 使用 responseDetailData() 方法返回单条记录
+ * - RESTful API: 作为所有API接口的标准响应格式
+ * - 前后端分离: 前端可统一处理成功/失败逻辑
+ * - 微服务架构: 服务间调用的标准化响应
+ * - 移动端接口: 移动端APP的统一数据格式
*
- *
*
- * @param 响应数据的类型
- * @param status 响应状态码,0表示成功,500表示错误,其他值可根据业务需求扩展
+ * @param 响应数据的类型,可以是任意对象、集合、Map或包装类
+ * @param status 响应状态码
+ *
+ * - 0 - 成功
+ * - 500 - 服务器错误
+ * - 其他 - 业务自定义状态码
+ *
* @param message 响应消息,对状态码的简短描述,如"OK"、"ERROR"或具体的错误信息
* @param data 响应数据,具体的业务数据,可以是任意类型。对于列表查询,通常封装为包含items和total的Map;对于详情查询,直接返回对象或Map
+ *
+ * @see #responseSuccess()
+ * @see #responseError()
+ * @see #responseListData(Iterable, Long)
+ * @see #responseDetailData(Object)
*/
public record GlobalResponse(Integer status, String message, T data) {
/**
- * 成功状态码
+ * 成功状态码 - 表示请求处理成功
*/
private static final int SUCCESS_STATUS = 0;
/**
- * 错误状态码
+ * 错误状态码 - 表示服务器内部错误或业务异常
*/
private static final int ERROR_STATUS = 500;
/**
- * 成功默认消息
+ * 成功默认消息 - 用于通用成功响应
*/
private static final String SUCCESS_MESSAGE = "OK";
/**
- * 错误默认消息
+ * 错误默认消息 - 用于通用错误响应
*/
private static final String ERROR_MESSAGE = "ERROR";
/**
* 返回默认错误响应
*
- * 使用默认错误消息"ERROR",状态码500,数据为null
+ * 使用默认错误消息"ERROR",状态码500,数据为null。
+ * 适用于无法确定具体错误原因的通用异常场景。
*
*
- * @return 错误响应对象
+ * @return 错误响应对象,格式:{status: 500, message: "ERROR", data: null}
+ *
+ * @see #responseError(String)
+ * @see #responseSuccess()
*/
public static GlobalResponse