是否可以根据从中返回的端点返回类的不同DataMembers?
从一个端点我只想返回一个类的一些基本DataMembers,但是从另一个端点我想返回同一类的更详细的成员。
我的想法是,我可以拥有一个基础类,并派生出另一个具有更多详细信息的类,并从不同的端点返回这些信息,但我也想知道是否还有另一种方法可以实现?
答案 0 :(得分:0)
你的建议是完全合理的。这些课程无论如何都是DTO(大概),他们的重点是将您的商业模式与您的消息模型分离。如果你有两个消息模型,有一个派生(或包含)另一个是好的。
考虑一下,替代模型会是什么样子?具有复杂注释的单一类型表示这些数据成员属于哪些服务?这会很快变得笨拙,甚至没有考虑你的业务对象将如何映射到这个模型(即映射是否需要知道正在调用哪个端点?这非常难看。)
所以只是:
public class EntityBase
{
// basic details here
}
public class EntityDetails: EntityBase
{
// more complex details initialised here
}
然后你的端点可以对它们进行强类型化,你可以共享映射逻辑,并实现你想要的。