我目前正在尝试发送类似的内容。云端点:
public abstract class Transaction {
//...
}
public class BuyTransaction extends Transaction {
//...
}
public class UpgradeTransaction extends Transaction {
//...
}
我的API方法类似于
@ApiMethod(...)
public List<Transaction> getTransactions(User user) { /*...*/}
但生成的Endpoint-Libs只包含一个Transaction-model但忽略其他类。当我尝试这个:
List<? extends Transactions>
端点-lib-generation完全失败,并表示它不受支持。有没有其他方法可以通过线路发送从抽象类继承的不同类?
答案 0 :(得分:2)
我不这么认为。您尝试解决的一般问题并不总是有可行的解决方案,因为您需要结合Transaction
的所有属性和任何扩展类。考虑这些类:
public abstract class Foo {
//...
}
public class Bar extends Foo {
public String prop;
// getters and setters
}
public class Baz extends Foo {
public Integer prop;
// getters and setters
}
Foo
在客户端代表的类集合是否应包含prop
或String
的{{1}}字段?
如果您希望允许通过网络发送任何延伸Integer
的内容,您必须提供要作为Foo
的一部分发送的所有属性。