From 3eb5ba62393a3e32c742e740151a93ad01ff22f2 Mon Sep 17 00:00:00 2001 From: gewuyou Date: Thu, 26 Jun 2025 22:25:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor(forgeboot-webmvc):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20R=20=E7=B1=BB=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A-?= =?UTF-8?q?=20=E4=B8=BA=20R=20=E7=B1=BB=E6=B7=BB=E5=8A=A0=E7=B1=BB?= =?UTF-8?q?=E7=BA=A7=E5=88=AB=E7=9A=84=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=EF=BC=8C=E8=AF=B4=E6=98=8E=E5=85=B6=E7=94=A8=E9=80=94=E5=92=8C?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E7=9A=84=E5=B1=9E=E6=80=A7=20-=20=E4=B8=BA?= =?UTF-8?q?=20buildExtraMap=20=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E7=9A=84=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E9=87=8A=E5=85=B6=E5=8A=9F=E8=83=BD=E5=92=8C?= =?UTF-8?q?=E5=8F=82=E6=95=B0=20-=20=E4=B8=BA=20success=20=E5=92=8C=20fail?= =?UTF-8?q?ure=20=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E7=9A=84=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A=EF=BC=8C=E8=A7=A3?= =?UTF-8?q?=E9=87=8A=E5=85=B6=E5=8A=9F=E8=83=BD=E3=80=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=92=8C=E8=BF=94=E5=9B=9E=E5=80=BC=20-=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A=E7=9A=84=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=92=8C=E5=86=85=E5=AE=B9=EF=BC=8C=E6=8F=90=E9=AB=98=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=8F=AF=E8=AF=BB=E6=80=A7=E5=92=8C=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gewuyou/forgeboot/webmvc/dto/R.kt | 86 ++++++++++++------- 1 file changed, 57 insertions(+), 29 deletions(-) diff --git a/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt b/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt index d1976f9..eb8f97b 100644 --- a/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt +++ b/forgeboot-webmvc/dto/src/main/kotlin/com/gewuyou/forgeboot/webmvc/dto/R.kt @@ -39,6 +39,9 @@ val defaultFailureResponseInformation = object : ResponseInformation { /** * 统一响应封装类 * + * 该类用于封装所有接口的响应数据,继承自BaseResult,提供标准的响应结构。 + * 包含状态码、成功标志、消息、数据、请求ID和扩展信息。 + * * @since 2025-05-03 16:04:42 */ data class R( @@ -50,6 +53,15 @@ data class R( override val extra: Map = emptyMap(), ) : BaseResult(code, success, message, data, requestId, extra) { companion object { + /** + * 构建扩展信息映射表 + * + * 该方法遍历扩展器列表,调用每个扩展器的extend方法来填充额外信息。 + * 主要用于在构建响应时添加可选的扩展字段。 + * + * @param extenders 扩展信息提供者列表 + * @return 包含所有扩展信息的Map对象 + */ private fun buildExtraMap(extenders: List): Map { return mutableMapOf().apply { extenders.forEach { it.extend(this) } @@ -59,11 +71,14 @@ data class R( /** * 创建成功响应对象 * - * @param info 响应信息对象 - * @param data 响应数据 - * @param requestIdProvider 请求ID提供者 - * @param extenders 扩展信息提供者列表 - * @return 成功响应对象 + * 使用给定的响应信息对象创建一个成功的响应实例。默认使用预定义的成功信息。 + * 可指定数据内容、请求ID提供者以及一组扩展器以增强响应信息。 + * + * @param info 响应信息对象,默认为defaultOkResponseInformation + * @param data 响应数据,默认为null + * @param requestIdProvider 请求ID提供者,默认为DefaultRequestIdProvider + * @param extenders 扩展信息提供者列表,默认为空列表 + * @return 成功响应对象R */ fun success( info: ResponseInformation = defaultOkResponseInformation, @@ -79,11 +94,14 @@ data class R( /** * 创建失败响应对象 * - * @param info 响应信息对象 - * @param data 响应数据 - * @param requestIdProvider 请求ID提供者 - * @param extenders 扩展信息提供者列表 - * @return 失败响应对象 + * 使用给定的响应信息对象创建一个失败的响应实例。默认使用预定义的失败信息。 + * 可指定数据内容、请求ID提供者以及一组扩展器以增强响应信息。 + * + * @param info 响应信息对象,默认为defaultFailureResponseInformation + * @param data 响应数据,默认为null + * @param requestIdProvider 请求ID提供者,默认为DefaultRequestIdProvider + * @param extenders 扩展信息提供者列表,默认为空列表 + * @return 失败响应对象R */ fun failure( info: ResponseInformation = defaultFailureResponseInformation, @@ -99,12 +117,15 @@ data class R( /** * 创建成功响应对象 * - * @param code 响应码 - * @param message 消息 - * @param data 响应数据 - * @param requestIdProvider 请求ID提供者 - * @param extenders 扩展信息提供者列表 - * @return 成功响应对象 + * 使用指定的状态码和消息创建一个成功的响应实例。 + * 可指定数据内容、请求ID提供者以及一组扩展器以增强响应信息。 + * + * @param code 响应码,默认为200 + * @param message 消息,默认为"success" + * @param data 响应数据,默认为null + * @param requestIdProvider 请求ID提供者,默认为DefaultRequestIdProvider + * @param extenders 扩展信息提供者列表,默认为空列表 + * @return 成功响应对象R */ fun success( code: Int = 200, @@ -117,15 +138,19 @@ data class R( val extra = buildExtraMap(extenders) return R(code, true, message, data, reqId, extra) } + /** - * 创建成功响应对象 + * 创建成功响应对象(参数顺序不同) * - * @param code 响应码 - * @param message 消息 - * @param data 响应数据 - * @param requestIdProvider 请求ID提供者 - * @param extenders 扩展信息提供者列表 - * @return 成功响应对象 + * 这个方法与另一个success方法功能相同,但参数顺序不同, + * 提供了更灵活的数据传递方式,允许优先设置数据内容。 + * + * @param data 响应数据,默认为null + * @param code 响应码,默认为200 + * @param message 消息,默认为"success" + * @param requestIdProvider 请求ID提供者,默认为DefaultRequestIdProvider + * @param extenders 扩展信息提供者列表,默认为空列表 + * @return 成功响应对象R */ fun success( data: T? = null, @@ -142,12 +167,15 @@ data class R( /** * 创建失败响应对象 * - * @param code 响应码 - * @param message 消息 - * @param data 响应数据 - * @param requestIdProvider 请求ID提供者 - * @param extenders 扩展信息提供者列表 - * @return 失败响应对象 + * 使用指定的状态码和消息创建一个失败的响应实例。 + * 可指定数据内容、请求ID提供者以及一组扩展器以增强响应信息。 + * + * @param code 响应码,默认为400 + * @param message 消息,默认为"failure" + * @param data 响应数据,默认为null + * @param requestIdProvider 请求ID提供者,默认为DefaultRequestIdProvider + * @param extenders 扩展信息提供者列表,默认为空列表 + * @return 失败响应对象R */ fun failure( code: Int = 400,