У меня есть одна конечная точка, написанная весной. Он производит как XML, так и JSON. Я не сделал ничего особенного. Вот пример кода
@RequestMapping(value = "/test", method = RequestMethod.POST
,produces={MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE},
consumes={MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})
@ResponseBody
public ResponseDTO method(@Valid @RequestBody RequestDTO requestDTO) {
return testService.testMethod(requestDTO);
}
Раньше он не добавлял CDATA ни в одно из значений, даже имея специальные символы (например, &). Я провел небольшое исследование, я добавил XmlAdapter, в метод маршалинга, добавил <![CDATA[" + s + "]]>
.
CDATA начинает поступать в моем ответе, но специальные символы, такие как &, <,> et c, преобразуются в xml символы вроде &
, <
, >
respetivley.
Более того, при отладке, когда строковое значение приходит на адаптер XML, оно не конвертируется. Но в конечном ответе он конвертируется.
Как я могу ограничить это преобразование?