2011-05-24 87 views
1

我目前有一个MVC网站,我即将创建一个API来向移动客户端展示有限的功能。我的网站有一个逻辑层,我有用于在网站上显示信息的DTO。Web服务的自定义DTO

在创建API时,我应该向客户端公开这些相同的DTO还是应该创建特定于API的DTO?我将创建新的控制器和操作方法,因此也可以创建特定于API的DTO。

我觉得创建一个API会迫使你与移动客户端签订合同,以便更改难以实现。拥有单独的DTO允许您自由地更改仅在网站上使用的DTO。

但是,缺点是我基本上复制了我的代码,因为DTO基本上是相同的。

的思考?

回答

1

国际海事组织,关于这一点的决定将主要由所有数据我需要传递给视图的指导,如果它在两种情况下都是相同的,我会使用相同的DTO。如果情况并非如此,那么我会为DTO创建一个基类,它为跨特定视图的API提供公共内容,并从该基本DTO继承并在特定于API需求的派生类中添加更多属性。