我使用RestTemplate调用2个不同的Rest API,它们返回以下XML:
<response><user>...</user></response>
<response><client>...</client></response>
在我的申请中,我有两个班级:
@XmlRootElement(name = "response")
class UserResponse {...}
@XmlRootElement(name = "response")
class ClientResponse {...}
我无法控制API,我无法修改响应XML。
如何处理2个不同的响应和相同的根元素?
感谢。
答案 0 :(得分:0)
您可以改为使用一个包含User和Client类的Response类,而这些类将包含在响应根元素中。这样的事情:
@XmlRootElement(name = "response")
@XmlAccessorType(XmlAccessType.FIELD)
class Response {
@XmlElement(required = false)
private User user;
@XmlElement(required = false)
private Client client;
}
class User {
}
class Client {
}
答案 1 :(得分:0)
如果您知道您期望的响应类型,则可以不使用@XmlRootElement
注释,并使用其中一个采用Class
参数的解组方法。