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 {