JSON 出力で名前と要素の順序を選択するために、RestEasy で JAXB アノテーションを使用しようとしています。
どういうわけか、RestEasy のドキュメントに可能と書かれていても、うまくいきません。
ここにいくつかのコード:
@XmlRootElement(name = "translation")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "translation", propOrder = {
"key",
"value"
})
public class TranslationDTO {
public TranslationDTO() {}
public TranslationDTO(Translation translation) {
setKey(translation.getTranslationKey().getValue());
setValue(translation.getContent());
//setCreationDate(translation.getCreatedTimestamp());
}
@XmlElement(name = "key")
private String key;
@XmlElement(name = "value")
private String value;
//private Date creationDate;
@XmlElement(name = "key")
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
@XmlElement(name = "value")
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
/*@XmlElement(name = "creationDate")
public Date getCreationDate() {
return creationDate;
}
public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}*/
}
そしてここに出力例があります:
{
"name":"i18nhelp",
"currentVersion":"1",
"currentTotalKeys":28,
"oldTotalKeys":0,
"totalLanguages":2,
"languageDtos":[{
"name":"Anglais",
"iso639":"en",
"totalCurTrans":28,
"newCurTrans":28,
"oldTrans":0
},
{
"name":"Français",
"iso639":"fr",
"totalCurTrans":28,
"newCurTrans":28,
"oldTrans":0
}]
}
JAXB アノテーションはまったく考慮されていないようです。
どんなアイデアも考慮されます...