2016-07-27 3 views
-2

車のコレクションリソースで休憩サービスを作成しています コードで、後で使用するコレクションのIDを設定しています しかし、CarResources IDはありません。ArrayListを拡張すると、Jersey、Javaのプロパティが欠落する

public class CarResources extends ArrayList<CarResource> { 

    private String id; 

    public void setId(String id) { 
    this.id = id; 
    } 

    public String getId() { 
    return id; 
    } 


    public CarResources (String id) { 
    this.id = id; 
    } 

応答:: また、IDEは

コードこのプロパティを '見る' ようには見えない

[ 
//Missing in the response is an id property of the entire List 
    { 
    "CarResource": { 
     "id": "TOYOTA_CAMERI", 
     "name": "Toyota", 
     "carType": "GAS" 
     } 
    }, 
    { 
    "CarResource": { 
     "id": "HONDA_TYPE_R", 
     "name": "HONDA", 
     "carType": "GAS" 
     } 
    } 


] 
+2

ArrayListを拡張しないでください。 List asフィールドを持つカスタムクラスを作成してください –

答えて

3
行うには

最も簡単な方法ですないArrayListを拡張し、単にリストを持っていますカスタムオブジェクトのメンバとして、追加の労力をかけずにシリアライズします。この場合の継承は正しい解決策ではなく、構成はです。

あなたがArrayListの延長を主張する場合は、@JsonPropertyとあなたの新しいインスタンスメンバーに注釈を付け、および/またはカスタムJsonSerializer<CarResources>を書いて、デフォルトArrayListシリアライザは、そうでない場合は使用されているため、新しいカスタム・シリアライザを使用する@JsonSerializeでクラスに注釈を付ける必要があります。

+0

ありがとう、保護されたArrayList データを追加しました。 BaseCollectionリソースに渡し、それを解決しました。 –

+0

@Nir感謝のコメントを追加するのではなく、[承諾](http://stackoverflow.com/help/accepted-answer)の回答を検討してください。 –

関連する問題