改造接口是否支持模板化回调

时间:2015-06-19 03:45:04

标签: gson retrofit

我有一个API,它会返回由gson / retrofit解析的所有请求的标准回复。

public class ServerReply<T> {
    @Expose
    private String status;
    @Expose
    private T data;
    @Expose
    private String message;
}

我有一个Retrofit接口,它将返回serverReply中的用户列表。

public interface Test {
    @POST("/Test")
    void runTest(@Body Body body, Callback<ServerReply<List<User>>> response);
}

我想根据身体的内容得到不同的对象列表。是否可以使用模板/泛型来实现这一目标?(见下文)

public interface Test<T> {
    @POST("/Test")
    void runTest(@Body Body body, Callback<ServerReply<List<T>>> response);
}

1 个答案:

答案 0 :(得分:1)

不,但这是Java限制而不是缺少Retrofit功能。由于类型擦除,Retrofit无法解决类型变量T在没有具体类的情况下实际传递给反序列化器的内容。