当模型位于“data”对象

时间:2016-02-10 00:06:49

标签: java json retrofit2

如何解析此响应,而无需为每个实体创建单独的响应类。

{
  "data": {
    "id": 100,
    "first_name": "Michael",
    "last_name": "Blankenship"
  }
}

我希望有一个可以引用数据对象的泛型类,然后只指定应该用于解析响应的类的类型

这样的事情:

@Get
Call<User> getUser();

@Get
Call<Status> getStatus();

无需为每种类型设置多个响应类

public class UserResponse {
    User data;
}

public class User {
    String first_name;
    String last_name;
}

public class StatusResponse {
    Status data;
}

1 个答案:

答案 0 :(得分:0)

解决此问题的方法是创建类似这样的泛型类

public class BaseResponseWrapper <T> {

    @SerializedName("data")
    private T data;

    public BaseResponseWrapper(){
        super();
    }

    public T getData() {
        return data;
    }
}