【发布时间】:2012-01-22 13:53:04
【问题描述】:
我不确定这种情况是否与 generics 相关而不是 DTOs,但这里是这样的:
我有一个代表 Person 的 DTO。 Person 可以拥有其他 Person 作为子项,或者只是 ResourceLink 到这些 Person强>(S)。这意味着孩子可以是以下两种类型之一:Person(DTO)或ResourceLink。它将是什么类型,通过 queryParam 确定,因此在逻辑上通过以下流程确定。我想只使用 ONE 集合对象来表示它们,但我不知道这样做的最佳方式。
这是我目前所拥有的:
public class PersonDTO<T> {
@XmlElementWrapper(name = "children")
@XmlElement(name = "child")
List<T> children;
// other stuff
}
使用这种方法,我需要根据if...else 条件定义翻译后的类型。
之前我有 2 个不同的集合,其中一个仍然 NULL。我还想过在新的 DTO 中提取 relationship 东西作为 ChildrenDTO(不确定这是否是个好主意)
我想知道这种情况是否有最佳实践,否则,是否可以根据条件声明PersonDTO<PersonDTO> 或PersonDTO<ResourceLink>。
提前致谢!
【问题讨论】:
标签: jersey parent-child dto