我有一个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);
}
答案 0 :(得分:1)
不,但这是Java限制而不是缺少Retrofit功能。由于类型擦除,Retrofit无法解决类型变量T
在没有具体类的情况下实际传递给反序列化器的内容。