我正在开发一个 JERSEY RESTFUL Web 服务,它具有接受对象参数的功能。它被称为“同步”,看起来像这样:
@XmlRootElement
public class Synchronize {
private List<PHQ9> phq9OutOfSync;
private List<ExtraQuestions> extraQuestionsOutOfSync;
private List<Suicide> suicideOutOfSync;
private List<Brugha> brughaOutOfSync;
private int hola;
public Synchronize() {
phq9OutOfSync = new ArrayList<PHQ9>();
extraQuestionsOutOfSync = new ArrayList<ExtraQuestions>();
suicideOutOfSync = new ArrayList<Suicide>();
brughaOutOfSync = new ArrayList<Brugha>();
}
}
问题是我无法将带有此类序列化的 xml 发送到 Web 服务。我发送了一个包含所有属性的 xml,但它没有很好地反序列化它......我不知道是不是因为列表出现了一些问题。我什至尝试只发送 int 属性,例如:
<synchronize><hola>1</hola></synchronize>
而且也不起作用...发生了什么事?
有什么提示吗?
编辑:我看到我不知道如何引用类中的属性。我尝试制作一个接受带有 phq9 对象的列表的 Web 服务,并且效果很好,但是如果我将该列表放在其他类中,那么它不知道如何反序列化。为什么会这样?
编辑2:
@XmlRootElement
public class PHQ9 {
@XmlElement
private int id;
@XmlElement
private int patientId;
@XmlElement
private int answer1;
@XmlElement
private int answer2;
@XmlElement
private int answer3;
@XmlElement
private int answer4;
@XmlElement
private int answer5;
@XmlElement
private int answer6;
@XmlElement
private int answer7;
@XmlElement
private int answer8;
@XmlElement
private int answer9;
@XmlElement
private int answer10;
@XmlElement
private int total;
@XmlElement
private int week;
@XmlElement
private String phq9Date;
@XmlElement
private String timeExported;
@XmlElement
private String dateExported;
@XmlElement
private int exported;
public PHQ9() {
phq9Date = timeExported = dateExported = "";
}
}