У меня есть перечисление: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>
Я хочу, чтобы он выводился как с именем enum (т.е. POKER), так и с ключом (т. Е. «Любимый-продукт-покер»).
Я пробовал несколько различных способов сделать это, включая использование @XmlElement, @XmlEnumValue и @XmlJavaTypeAdapter, не получая оба одновременно.
Кто-нибудь знает, как достичь этого, как и для обычного аннотированного компонента JAXB?
Спасибо.