From 849aa32f4f6b5f5cc5c3b3575d3ed57dd4fe81e1 Mon Sep 17 00:00:00 2001 From: tianhao Date: Tue, 26 May 2026 11:10:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=80=9A=E7=9F=A5=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=A7=A3=E5=AF=86=E8=BF=94=E5=9B=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0T=E6=94=AF=E6=8C=81String=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czcb/scfs/api/core/ApiClient.java | 3 ++- .../com/czcb/scfs/api/service/handle/NotifyHandler.java | 8 ++++---- .../com/czcb/scfs/api/test/service/NotifyHandlerTest.java | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/ApiClient.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/ApiClient.java index 4d111b2..7cee21c 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/ApiClient.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/ApiClient.java @@ -101,7 +101,8 @@ public interface ApiClient { String bodyCiphertext = requestJson.get("body").getAsString(); // 对称解密后body 明文 String bodyPlain = getProfile().getPrivacy().getSecretCipher().decrypt(Strings.toBytes(secretKeyPlain), Strings.toBytes(bodyCiphertext)); - return Json.fromJson(bodyPlain, requestClass); + // T支持返回String + return requestClass == String.class ? requestClass.cast(bodyPlain) : Json.fromJson(bodyPlain, requestClass); } /** diff --git a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/handle/NotifyHandler.java b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/handle/NotifyHandler.java index dbf5d3f..af53aa1 100644 --- a/scfs-api-service/src/main/java/com/czcb/scfs/api/service/handle/NotifyHandler.java +++ b/scfs-api-service/src/main/java/com/czcb/scfs/api/service/handle/NotifyHandler.java @@ -19,9 +19,9 @@ public class NotifyHandler { /** * 通知请求参数解密 * - * @param requestJsonStr 请求参数JSON字符串 - * @param requestClass 请求参数Class - * @return 请求参数 + * @param requestJsonStr 请求参数完整的JSON字符串(包含header及body) + * @param requestClass 请求参数类的Class对象 + * @return 请求参数Object * @author H.T * @since 2026/5/19 */ @@ -33,7 +33,7 @@ public class NotifyHandler { * 通知应答参数加密 * * @param responseObject 应答参数Object - * @return 应答完整JSON + * @return 应答完整的JSON字符串(包含header及body) * @author H.T * @since 2026/5/19 */ diff --git a/scfs-api-test/src/test/java/com/czcb/scfs/api/test/service/NotifyHandlerTest.java b/scfs-api-test/src/test/java/com/czcb/scfs/api/test/service/NotifyHandlerTest.java index 6d62551..ae0706f 100644 --- a/scfs-api-test/src/test/java/com/czcb/scfs/api/test/service/NotifyHandlerTest.java +++ b/scfs-api-test/src/test/java/com/czcb/scfs/api/test/service/NotifyHandlerTest.java @@ -35,6 +35,7 @@ class NotifyHandlerTest { System.err.println(jsonObject); System.out.println(notifyHandler.decryptRequest(jsonObject.toString(), OfflineRechargeRefundRequest.class)); + System.out.println(notifyHandler.decryptRequest(jsonObject.toString(), String.class)); } @Test