Dans mon application, je dois consommer un service fourni par une application tierce. La réponse qu'ils fournissent est toujours 200 et ils changent le corps selon que les données sont disponibles ou non ou erreur, comme indiqué ci-dessousComment consommer XML avec plus d'un élément racine possible dans le client Spring REST
Si les données sont là alors
<products>
<product></product>
<product></product>
</products>
Si les données est vide,
<message> No record found </message>
Si une validation a échoué alors
<error>Invalid Id</error>
J'utilise RestTemplate.exchange
pour consommer le service, ma question est s'il n'y a qu'un seul type d'élément racine alors nous passons la classe respective comme ParameterizedTypeReference
mais ici comment mapper la réponse et unmarshall it.
Une solution pourrait être d'encapsuler le message avec une nouvelle étiquette avant d'analyser le message. Quelque chose comme ... –
reos