В моем приложении я должен использовать услугу, предоставляемую сторонним приложением. Ответ они обеспечивают всегда 200 и они меняют тело на основе того, является ли данные доступны или нет или произошла ошибка, как указано нижеКак использовать XML с более чем одним возможным корневым элементом в Spring REST-клиенте
Если данные есть, то
<products>
<product></product>
<product></product>
</products>
Если данные пусто, то
<message> No record found </message>
Если некоторые проверки не удалось, то
<error>Invalid Id</error>
Я использую RestTemplate.exchange
, чтобы использовать услугу, мой вопрос в том, есть ли только один тип корневого элемента, мы передаем соответствующий класс как ParameterizedTypeReference
, но вот как сопоставить ответ и отменить его.
Одним из решений может быть обертывание сообщения новым тегом перед разбором сообщения. Что-то вроде ... –
reos