Redmine の xml rest api を使用しています。サービスは、次の例のように xml を返します。私は、ジャージー クライアント API を使用して、安らかなサービスと通信しています。プロジェクトのプレーン フィールド (ID、名前など) のマッピングは問題ありませんが、トラッカー リストに問題があります。
<project>
<id>2</id>
<name>Project X</name>
<identifier>projectx</identifier>
<description>Description of Project X</description>
<homepage/>
<created_on>Sat Jul 31 18:16:59 +0200 2010</created_on>
<updated_on>Sat Jul 31 18:16:59 +0200 2010</updated_on>
<trackers>
<tracker name="Bug" id="1"/>
<tracker name="Feature" id="2"/>
<tracker name="Support" id="3"/>
</trackers>
</project>
プロジェクト Bean、プレーンなゲッター メソッドとセッター メソッドをすべて削除しました。
@XmlRootElement
@XmlSeeAlso(Tracker.class)
public class Project {
private int id;
private String name, identifier;
private String description;
Date createdOn, updatedOn;
ArrayList<Tracker> trackers = new ArrayList<Tracker>();
public Project() {
}
// Removed getters and setters...
public ArrayList<Tracker> getTrackers() {
return trackers;
}
@XmlElement
public void setTrackers(ArrayList<Tracker> trackers) {
this.trackers = trackers;
}
}
読みやすくするために単純なゲッターとセッターが削除されたトラッカー Bean。
@XmlRootElement
public class Tracker {
private String name;
private int id;
// Removed getters
@XmlAttribute
public void setId(int id) {
this.id = id;
}
@XmlAttribute
public void setName(String name) {
this.name = name;
}
}
プロジェクトのすべてのプレーン フィールドは期待どおりに配置されていますが、トラッカーのリストを設定できません。私は何を間違っていますか?これまでに管理した中で最も優れているのは、1 つの null 値を持つリストを取得することです。