From 8b30276c6bf9d5ff05b2a429a7b69d392daf0cfc Mon Sep 17 00:00:00 2001 From: cho Date: Thu, 15 Jan 2026 15:02:42 +0900 Subject: [PATCH] =?UTF-8?q?HMAC=EC=B2=98=EB=A6=AC=EB=A5=BC=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApiRequestBodyFilter.java | 7 ++++--- .../adapter/controller/ApiResponseAdvice.java | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/eactive/eai/adapter/controller/ApiRequestBodyFilter.java b/src/main/java/com/eactive/eai/adapter/controller/ApiRequestBodyFilter.java index b2b887f..d77aebf 100644 --- a/src/main/java/com/eactive/eai/adapter/controller/ApiRequestBodyFilter.java +++ b/src/main/java/com/eactive/eai/adapter/controller/ApiRequestBodyFilter.java @@ -25,6 +25,8 @@ import com.eactive.eai.common.stdmessage.STDMsgInfoAddOnVO; public class ApiRequestBodyFilter extends OncePerRequestFilter { + + static final String KJB_ROOTLESS_ARRAY = "{ \"KJB_ROOTLESS_ARRAY\" : "; @Override protected void doFilterInternal(HttpServletRequest request, @@ -57,9 +59,8 @@ public class ApiRequestBodyFilter extends OncePerRequestFilter { Object json = JSONValue.parse(bodyStr); if (json instanceof JSONArray) { - JSONObject wrap = new JSONObject(); - wrap.put("KJB_ROOTLESS_ARRAY", json); - finalBody = wrap.toJSONString().getBytes(encoding); + bodyStr = KJB_ROOTLESS_ARRAY + bodyStr + "}"; + finalBody = bodyStr.getBytes(encoding); } } catch (Exception e) { diff --git a/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java b/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java index 4827f88..e5d34c4 100644 --- a/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java +++ b/src/main/java/com/eactive/eai/adapter/controller/ApiResponseAdvice.java @@ -13,6 +13,8 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; @RestControllerAdvice public class ApiResponseAdvice implements ResponseBodyAdvice { + + static final String KJB_ROOTLESS_ARRAY = "{ \"KJB_ROOTLESS_ARRAY\" : "; @Override public boolean supports(MethodParameter returnType, Class> converterType) { @@ -34,16 +36,16 @@ public class ApiResponseAdvice implements ResponseBodyAdvice { } String removeRootlessArrayKeyFormResponseBody(String body) { - try { - Object root = JSONValue.parse(body); - if (root instanceof JSONObject && ((JSONObject) root).containsKey("KJB_ROOTLESS_ARRAY")) { - JSONArray jsonArray = (JSONArray) ((JSONObject) root).get("KJB_ROOTLESS_ARRAY"); - return jsonArray.toJSONString(); - } else { - return body; + if (body.startsWith(KJB_ROOTLESS_ARRAY)) { + body = body.substring(KJB_ROOTLESS_ARRAY.length()); + + if (body.endsWith("}")) { + body = body.substring(0, body.length() - 1); } - } catch (Exception e) { + + return body; + } else { return body; }