将webapi暴露给第三方

时间:2015-06-08 14:37:13

标签: asp.net-web-api dto

第三方客户端如何使用我不知道我的DTO的api方法(对象Web服务返回或作为参数)。我是否需要以某种方式暴露我的DTO?

1 个答案:

答案 0 :(得分:4)

文档是你的朋友。发布一些文档,展示DTO应该是什么。如果您了解客户,则可以创建包含正确DTO的包。我们为.NET客户端做了这个。我们为nuget发布了一个可移植的类库,因此任何这些客户端都可以下载并使用它们。但是,我们已经停止了,因为这可能会压倒客户端应用程序开发人员。即假设您有100个DTO,但一个简单的客户端应用程序实际上只需要其中的5个。通过包含软件包,现在有很多选项可能会让人知道实际使用哪个DTO会让人感到困惑,这会导致客户端应用程序可能做得比应有的多。我们希望仅使用所需的DTO来保持我们的客户端应用程序的精益。是的,有一点DTO定义重复。

另一方面,如果您使用了包裹路线,您实际上可以构建一个SDK来使用您的API。您将看到Microsoft为帮助解决Azure存储或Azure Service Bus等领域的复杂性做了很多工作。所有这些都有支持REST API,但SDK确保它以设计的,可能是最优化的方式使用。