4

我目前在 DTO 之间有继承,只要我为每个具体(叶节点)DTO 定义了一个 [Route],而不是在某个超类上,它就可以很好地工作。到目前为止,超类都是抽象的。现在我的情况是,我有一个具体的 DTO,并且定义了一个 [Route] 属性,它也是另一个具有自己路由的 DTO 的超类。

两个 DTO 都有自己的服务,但不能按预期工作。两个 DTO 都“路由”到叶节点。

superclass DTOA
subclass DTOB where DTOB : DTOA

当我在 DTOA 上执行 GET 时,响应的是 DTOB 的服务。除了对我的继承进行不同的建模之外,我怎样才能修复路由按我希望的那样工作?

所以:

DTOA routed to serviceA
DTOB routed to serviceB

发生这种情况是因为 RouteAttributes 是继承的吗?RouteAttribute 上有 Inherited = true 的原因是什么?

4

1 回答 1

-1

不要在请求 DTO 中使用继承。从一开始就继承 DTO 是个坏主意,在为每个服务定制的请求 DTO 中应该特别避免它们。

Route 属性可以应用于服务和/或请求 DTO,并支持允许继承的新 API和旧 API。

于 2013-01-31T13:51:34.423 回答