[英]Spring + JAXB - Unmarshal XML with the same element root
我正在使用RestTemplate調用2個不同的Rest API,這些API返回以下XML:
<response><user>...</user></response>
<response><client>...</client></response>
在我的應用程序中,我有2個類:
@XmlRootElement(name = "response")
class UserResponse {...}
@XmlRootElement(name = "response")
class ClientResponse {...}
我無法控制這些API,也無法修改響應XML。
如何使用2個不同的響應和相同的根元素?
謝謝。
相反,您可以有一個Response類,其中包含一個User和一個Client類,它們是包含在響應根元素中的元素。 像這樣:
@XmlRootElement(name = "response")
@XmlAccessorType(XmlAccessType.FIELD)
class Response {
@XmlElement(required = false)
private User user;
@XmlElement(required = false)
private Client client;
}
class User {
}
class Client {
}
如果知道期望的響應類型,則可以不使用@XmlRootElement
批注,而使用采用Class
參數的解組方法之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.