Retrofit を使用してリクエストを送信し、レスポンスを使用できるようにしようとしています。
サービスはこのようなjsonを返します
{
"code" : 0,
"msg" : "User received",
"data" : {
"name" : "x",
"tags" : [ "a", "b", "c" ]
}
}
構造 (コード、メッセージ、およびデータ) は同じですが、データ内に何が入るかは異なります。この例では、User クラスにマップする必要があります。他の呼び出しでは、投稿のリストなどを返します。エラーが発生した場合、データ コンポーネントはなく、代わりにエラー プロパティがあります。
私は、Response タイプの特定のサブクラスを持ち、それを使用するように Retrofit にヒントを与えることができると思いました。
public class Response {
int code;
String msg;
}
public class UserResponse extends Response {
User data;
}
しかし、戻り値にデータ要素がない場合、アクションを実行するとプログラムが単に壊れます。