【发布时间】:2015-06-08 14:37:12
【问题描述】:
第三方客户端如何使用不了解我的 DTO 的我的 api 方法(对象 Web 服务返回或作为参数)。我需要以某种方式公开我的 DTO 吗?
【问题讨论】:
标签: asp.net-web-api dto
第三方客户端如何使用不了解我的 DTO 的我的 api 方法(对象 Web 服务返回或作为参数)。我需要以某种方式公开我的 DTO 吗?
【问题讨论】:
标签: asp.net-web-api dto
文档是您的朋友。发布一些文档,展示 DTO 应该是什么。如果您了解您的客户,您可以创建包含正确 DTO 的包。我们为我们的 .NET 客户做了这个。我们向 nuget 发布了一个可移植类库,因此这些客户端中的任何一个都可以下载该包并使用它们。但是,我们已经停止了,因为这可能会使客户端应用程序开发人员不堪重负。 IE。假设您有 100 个 DTO,但一个简单的客户端应用程序实际上只需要其中的 5 个。通过包含该包,现在有如此多的选项,以至于知道实际使用哪个 DTO 可能会令人困惑,这导致客户端应用程序可能做的比它应该做的更多。我们希望通过只使用它需要的 DTO 来保持我们的客户端应用程序的精简。是的,有一点 DTO 定义重复。
另一方面,如果您采用打包路线,您基本上可以构建一个 SDK 来使用您的 API。你会看到微软在解决 Azure 存储或 Azure 服务总线等领域的复杂性方面做了很多工作。所有这些都有支持的 REST API,但 SDK 确保它以设计好的并且可能是最优化的方式使用。
【讨论】: