Ho appena iniziato a utilizzare JAXB per rendere l'output XML da oggetti java. Esiste un polimorfismo nelle mie classi java, che sembra non funzionare in JAXB.jaxb - come creare XML da classi polimorfe
Di seguito è il modo in cui ho cercato di affrontarlo, ma nell'output non mi aspettavo campo: campoA o campoB.
@XmlRootElement(name = "root")
public class Root {
@XmlElement(name = "fieldInRoot")
private String fieldInRoot;
@XmlElement(name = "child")
private BodyResponse child;
// + getters and setters
}
public abstract class BodyResponse {
}
@XmlRootElement(name = "ResponseA")
public class ResponseA extends BodyResponse {
@XmlElement(name = "fieldA")
String fieldB;
// + getters and setters
}
@XmlRootElement(name = "ResponseB")
public class ResponseB extends BodyResponse {
@XmlElement(name = "fieldB")
String fieldB;
// + getters and setters
}
Prima di iniziare a inventare qualche eredità intricati, c'è qualche buon approccio per fare questo?
sì, funziona perfettamente. Grazie per questo post e il riferimento al tuo blog. – smas