我有一个枚举: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一样?
谢谢。