From 94423833dcaf85f710a1bb627d1f95f0c8b293ae Mon Sep 17 00:00:00 2001
From: zhuangtianxiang <2913129173@qq.com>
Date: Mon, 9 Dec 2024 16:41:47 +0800
Subject: [PATCH] =?UTF-8?q?feat(gateway):=20=E6=B7=BB=E5=8A=A0=E5=85=A8?=
=?UTF-8?q?=E5=B1=80=E5=93=8D=E5=BA=94=E5=A4=84=E7=90=86=E5=99=A8=E5=92=8C?=
=?UTF-8?q?=E7=BB=9F=E4=B8=80=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C=E5=B0=81?=
=?UTF-8?q?=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 新增 GlobalResponseHandler 类实现全局响应处理
- 添加 Result 类用于统一返回结果封装
- 实现 JsonUtil 工具类用于对象与 JSON 字符串转换
-优化了返回类型为 String 时的处理逻辑
---
.../response/GlobalResponseHandler.java | 65 +++++++++++++++++++
.../gateway/framework/response/JsonUtil.java | 26 ++++++++
.../gateway/framework/response/Result.java | 51 +++++++++++++++
3 files changed, 142 insertions(+)
create mode 100644 src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java
create mode 100644 src/main/java/com/zsc/edu/gateway/framework/response/JsonUtil.java
create mode 100644 src/main/java/com/zsc/edu/gateway/framework/response/Result.java
diff --git a/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java b/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java
new file mode 100644
index 0000000..dffbca2
--- /dev/null
+++ b/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java
@@ -0,0 +1,65 @@
+package com.zsc.edu.gateway.framework.response;
+
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.MethodParameter;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
+
+/**
+ * 响应统一封装
+ *
+ * 将响应数据,封装成统一的数据格式。
+ *
+ * 通过本处理器,将接口方法返回的数据,统一封装到 Result 的 data 字段中,如果接口方法返回为 void,则 data 字段的值为 null。
+ *
+ * @author zhuang
+ */
+@Slf4j
+@RestControllerAdvice(basePackages = "com.example.web")
+public class GlobalResponseHandler implements ResponseBodyAdvice