내 프레임 워크는 반환 유형에 패키징 결과를 추가하지만 공백을 남겼습니다. 즉, 반환하는 String은 래핑되지 않습니다. 나는 최근에 인터페이스를 작성했는데, 이전 인터페이스에서 반환했기 때문에 반환 결과를 변경할 수 없으므로 반환하는 String은 래핑되지 않습니다. 코드는 다음과 같습니다.
@RequestMapping(value = "webSwitch")
public Object webSwitch() {
JsonObject result = new JsonObject();
result.addProperty("success", 200);
result.addProperty("message", "ok");
result.addProperty("openWeb", showWebVO.getOpenWeb());
return result.toString();
}
테스트 결과에서 반환 된 결과에는 백 슬래시가 있으며 json으로 구문 분석 할 수 없습니다. 결과는 다음과 같습니다.
"{\"success\":200,\"message\":\"ok\",\"openWeb\":true,\"webUrl\":null}"
이유 분석 : CustomGsonMessageConvertor를 프레임 워크에서 먼저 배치했기 때문에 기본적으로 응답을 작성하는 데 사용합니다. 결과적으로 gson이 문자열을 쓸 때 json 형식의 특수 문자가 있음을 발견하고 이스케이프합니다.
이유를 파악한 후 다음을 추가합니다. 생성 = "text / plain"및 StringhttpMessageConvertor에 의해 다시 작성됩니다.