4

我目前正试图通过发送这样的东西。云端点:

public abstract class Transaction {
//...
}

public class BuyTransaction extends Transaction {
//...
}

public class UpgradeTransaction extends Transaction {
//...
}

我的 API 方法类似于

@ApiMethod(...)
public List<Transaction> getTransactions(User user) { /*...*/}

但是生成的 Endpoint-Libs 只包含一个事务模型,而忽略了其他类。当我尝试这个时:

List<? extends Transactions> 

端点库生成完全失败,并说它不受支持。有没有其他方法可以通过网络发送从抽象类继承的不同类?

4

1 回答 1

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字段是 aString或 an Integer

如果您想允许Foo通过网络发送任何扩展内容,您必须提供您希望作为Foo.

于 2013-06-10T20:37:53.327 回答