我正在嘗試將JAXB註釋與RestEasy一起使用,以便在我的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標註不考慮採取在所有。
任何想法將被視爲...
是不是XmlAccessType.PROPERTY爲字段自動綁定getters和XmlAccessType.FIELD?你嘗試刪除多餘的註釋嗎?或者改爲使用XmlAccessType.NONE? –
以下內容可能有所幫助:http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html –
感謝您的反饋。順便說一下,好的和有用的博客,Blaise。實際上,JAXB註釋似乎根本不被考慮。我編輯了這個問題,使之更加清晰。 –