2

FoodItemImplインターフェイスを実装するクラスがありますFoodItem

FoodItemRESTを使用したリストを返したい。

私はできませんでした

ただし、次のFoodItemImplようなリストを返すことができます。

ラッパー

enum wria {
    instance;
    private Map<Integer, FoodItemImpl> map = new HashMap<Integer, FoodItemImpl>();

    public Map<Integer, FoodItemImpl> get() {
        return this.map;
    }

    wria() {
        List<FoodItem> LL = FoodItemImpl.getAllFoodItems();
        for (int i = 0; i < LL.size(); i++) {
            map.put(LL.get(i).getID(), (FoodItemImpl) LL.get(i));
        }
    }
}

REST コード

@GET
    @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    public List<FoodItemImpl> getXML() {
        List<FoodItemImpl> ll = new LinkedList<FoodItemImpl>();
        ll.addAll(wria.instance.get().values());
        return ll;
    }
4

2 に答える 2

0

Interface Getter Methods (JAXB) にアノテーションを付けて、結果の XML 内の要素を定義してみてください。それはあなたの問題を解決するはずです、私は信じています。

リストを返す代わりに、リストを保持する別の XmlElement クラス (必要に応じてインターフェイス) を用意してみてください。

于 2013-05-16T12:40:12.290 に答える