我有一個枚舉:JAXB +枚舉+顯示多個值
@XmlEnum
@XmlRootElement
public enum Product {
POKER("favourite-product-poker"),
SPORTSBOOK("favourite-product-casino"),
CASINO("favourite-product-sportsbook"),
SKILL_GAMES("favourite-product-skill-games");
private static final String COULD_NOT_FIND_PRODUCT = "Could not find product: ";
private String key;
private Product(final String key) {
this.key = key;
}
/**
* @return the key
*/
public String getKey() {
return key;
}
我在REST服務輸出像這樣:
GenericEntity<List<Product>> genericEntity = new GenericEntity<List<Product>>(products) {
};
return Response.ok().entity(genericEntity).build();
並輸出這樣的:
<products>
<product>POKER</product>
<product>SPORTSBOOK</product>
<product>CASINO</product>
<product>SKILL_GAMES</product>
</products>
我希望它輸出枚舉名稱(即撲克)和密鑰(即「最喜歡的產品撲克」)。
我已經嘗試了許多不同的方法來做到這一點,包括使用@XmlElement,@XmlEnumValue和@XmlJavaTypeAdapter,而沒有同時獲得兩者。
有沒有人知道如何實現這一目標,就像您使用普通的JAXB註釋bean一樣?
謝謝。