KakaopayAdapterErrorMsgHandler: 제어문자 정규화 후 파싱
상대 응답에 이스케이프되지 않은 제어문자가 섞여 오면 "Illegal unquoted character ((CTRL-CHAR, code 10))" 로 실패한다. readTree() 전에 JacksonUtil.escapeControlChars() 로 표준 JSON 으로 맞춘다. 검증: gradlew compileJava BUILD SUCCESSFUL
This commit is contained in:
+3
-2
@@ -45,7 +45,8 @@ public class KakaopayAdapterErrorMsgHandler extends TemplateCodeConvertAdapterEr
|
||||
return responseMsessage;
|
||||
}
|
||||
|
||||
JsonNode rootNode = OBJECT_MAPPER.readTree(jsonStr);
|
||||
// 제어문자를 이스케이프하지 않고 보내는 상대 시스템 대응 (JacksonUtil.escapeControlChars 주석 참조)
|
||||
JsonNode rootNode = OBJECT_MAPPER.readTree(JacksonUtil.escapeControlChars(jsonStr));
|
||||
|
||||
boolean modified = false;
|
||||
|
||||
@@ -74,7 +75,7 @@ public class KakaopayAdapterErrorMsgHandler extends TemplateCodeConvertAdapterEr
|
||||
if (responseBody instanceof String) {
|
||||
String jsonStr = (String) responseBody;
|
||||
if (!StringUtils.isBlank(jsonStr)) {
|
||||
JsonNode rootNode = OBJECT_MAPPER.readTree(jsonStr);
|
||||
JsonNode rootNode = OBJECT_MAPPER.readTree(JacksonUtil.escapeControlChars(jsonStr));
|
||||
StringBuffer sb = new StringBuffer();
|
||||
JsonNode errorCode = rootNode.get("error_code");
|
||||
if(errorCode != null)
|
||||
|
||||
Reference in New Issue
Block a user