2016-03-24 6 views
0

私は自分のプロジェクトでAndroidAnnotationsを使用しています。これは...これまでのところ正常に動作AndroidAnnotations、REST、カスタムレスポンス

しかし、今私はこのようなカスタム応答で与えられたWebサービスにアクセスしよう:

{ 
    success: true, 
    total: 100, 
    items: [], 
} 

この応答形式は、すべてのGETリクエストでも同じです。項目プロパティは、私が興味レスポンスオブジェクトやアイテムを保持している(利用者、製品などのような)異なるオブジェクトタイプ

が含まれている私は、私はそれらにアクセスするにはどうすればよい...

を「MappingJackson2HttpMessageConverter」を使用していますか?

おかげで、 ステファン

答えて

1

あなたはJSON応答から非直列化することができ、応答クラスを作成する必要があります。それはあなたのJSONスニペットから不明瞭であるため、

public class CustomResponse { 
    boolean success; 
    int total; 
    List<Integer> items; 
} 

これは一例であり、どのような正確なタイプを使用しています。 次に、あなたのRESTクライアントでこの応答クラスを使用することができます。

@Get("/getsomething") 
public CustomResponse getSomething(); 

あなたが(GSONコンバータのように)あなたのJSONレスポンスを変換することができます任意のコンバータを使用することができ、MappingJackson2HttpMessageConverterを使用する必要はありません。

+0

最初のお返事ありがとうございます:) itemsプロパティにはオブジェクトが含まれています。私が書いたように、それはユーザー、製品、記事または他の何かのような広い範囲になる可能性があります... – Urkman

+0

異種のリストには問題があります。各項目の型フィールドを送信し、型を区別できる型アダプタを登録し、それらを異なるクラスに逆シリアル化することができます。 – WonderCsabo

関連する問題