From 76a3b705c0a2b0fe622d7358f32b97e4c884f91a Mon Sep 17 00:00:00 2001 From: curry772 Date: Thu, 27 Aug 2026 16:57:05 +0900 Subject: [PATCH] =?UTF-8?q?Jackson=20Mapper=20=EC=83=9D=EC=84=B1=EC=9D=84?= =?UTF-8?q?=20newNumberSafeMapper=20=EC=9D=B4=EC=9A=A9=EC=9C=BC=EB=A1=9C?= =?UTF-8?q?=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eai/adapter/service/DJBApiAdapterService.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/eactive/eai/adapter/service/DJBApiAdapterService.java b/src/main/java/com/eactive/eai/adapter/service/DJBApiAdapterService.java index 8e27f86..2869011 100644 --- a/src/main/java/com/eactive/eai/adapter/service/DJBApiAdapterService.java +++ b/src/main/java/com/eactive/eai/adapter/service/DJBApiAdapterService.java @@ -74,8 +74,11 @@ public class DJBApiAdapterService extends HttpAdapterServiceSupport { public static final String FINAL_STD_MESSAGE_KEY = "FINAL_STD_MESSAGE_KEY"; public static final String API_SERVICE_CODE = "API_SERVICE_CODE"; - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); - + // 응답은 헤더그룹 처리를 위해 readTree() 로 파싱한 뒤 writeValueAsString() 으로 다시 + // 문자열이 되므로, 이 왕복에서 숫자 자릿수가 유실되지 않는 mapper 를 써야 한다. + // 기본 ObjectMapper 는 100000000.00 을 1.0E8 로 바꿔버린다. + private static final ObjectMapper OBJECT_MAPPER = JacksonUtil.newNumberSafeMapper(); + static Logger logger = Logger.getLogger(Logger.LOGGER_ADAPTER); static Logger siftLogger = Logger.getLogger(Logger.LOGGER_SIFT); @@ -87,7 +90,7 @@ public class DJBApiAdapterService extends HttpAdapterServiceSupport { public static final String PAYLOAD_PARAM_NAME_CLIENT_ID = "client_id"; // jwhong - private ObjectMapper mapper = new ObjectMapper(); + private ObjectMapper mapper = JacksonUtil.newNumberSafeMapper(); public String callApi(HttpServletRequest request, HttpServletResponse response, Properties httpProp, AdapterGroupVO adapterGroupVO, AdapterVO adapterVO, Properties transactionProp) throws Exception {