diff --git a/src/main/java/com/eactive/eai/transformer/message/JSONMessage.java b/src/main/java/com/eactive/eai/transformer/message/JSONMessage.java index 672b1da..57cb706 100644 --- a/src/main/java/com/eactive/eai/transformer/message/JSONMessage.java +++ b/src/main/java/com/eactive/eai/transformer/message/JSONMessage.java @@ -50,6 +50,12 @@ public class JSONMessage extends Message { factory = mapper.getFactory(); factory.configure(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature(), true); + // 상대가 0 패딩된 코드값을 따옴표 없이(=JSON 숫자로) 보내면 표준 파서는 + // "Invalid numeric value: Leading zeroes not allowed" 로 거부한다. + // 전문 자체를 못 읽는 것보다 받아들이는 쪽이 낫다고 판단해 허용한다. + // ⚠ 이 옵션은 00001 을 숫자 1 로 만든다(선행 0 미보존). + // 표준전문 경로(common JacksonUtil.newNumberSafeMapper)와 동일한 설정이다. + factory.configure(JsonReadFeature.ALLOW_LEADING_ZEROS_FOR_NUMBERS.mappedFeature(), true); } @Override