Я только начал использовать JAXB для вывода XML из Java-объектов.Полиморфизм существует в моих классах Java, который, кажется, не работает в JAXB.
Ниже описан способ, с помощью которого я пытался справиться с этим, но в выводе я не ожидал поля: fieldA или fieldB.
@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
}
Прежде чем я начну изобретать некоторые сложные наследования,Есть ли хороший подход для этого?