Asp.net web api 向第三方公开webapi

Asp.net web api 向第三方公开webapi,asp.net-web-api,dto,Asp.net Web Api,Dto,不知道我的DTO(对象web服务返回或作为参数使用)的第三方客户机将如何使用我的api方法。我是否需要以某种方式公开我的DTO?文档是您的朋友。发布一些显示DTO应该是什么的文档。如果您了解您的客户机,您可以创建包含正确DTO的包。我们这样做是为了我们的.NET客户。我们为nuget发布了一个可移植类库,这样这些客户机中的任何一个都可以下载包并使用它们。然而,我们已经停止了,因为这可能会压倒客户端应用程序开发人员。例如,假设您有100个DTO,但一个简单的客户端应用程序实际上只需要其中的5个。通

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

文档是您的朋友。发布一些显示DTO应该是什么的文档。如果您了解您的客户机,您可以创建包含正确DTO的包。我们这样做是为了我们的.NET客户。我们为nuget发布了一个可移植类库,这样这些客户机中的任何一个都可以下载包并使用它们。然而,我们已经停止了,因为这可能会压倒客户端应用程序开发人员。例如,假设您有100个DTO,但一个简单的客户端应用程序实际上只需要其中的5个。通过包含该软件包,现在有太多的选项,可能会让人弄不清楚到底要使用哪个DTO,这导致客户端应用程序可能做得比它应该做的更多。我们喜欢通过只使用所需的DTO来保持客户端应用程序的精简。是的,有一点DTO定义重复


另一方面,如果您采用包的方式,您基本上可以构建一个SDK来使用您的API。您将看到Microsoft在这方面做了大量工作,以帮助解决Azure存储或Azure服务总线等领域的复杂性。所有这些都有REST API的支持,但SDK确保以设计好的、可能是最优化的方式使用它。

文档是您的朋友。发布一些显示DTO应该是什么的文档。如果您了解您的客户机,您可以创建包含正确DTO的包。我们这样做是为了我们的.NET客户。我们为nuget发布了一个可移植类库,这样这些客户机中的任何一个都可以下载包并使用它们。然而,我们已经停止了,因为这可能会压倒客户端应用程序开发人员。例如,假设您有100个DTO,但一个简单的客户端应用程序实际上只需要其中的5个。通过包含该软件包,现在有太多的选项,可能会让人弄不清楚到底要使用哪个DTO,这导致客户端应用程序可能做得比它应该做的更多。我们喜欢通过只使用所需的DTO来保持客户端应用程序的精简。是的,有一点DTO定义重复

另一方面,如果您采用包的方式,您基本上可以构建一个SDK来使用您的API。您将看到Microsoft在这方面做了大量工作,以帮助解决Azure存储或Azure服务总线等领域的复杂性。所有这些都有支持RESTAPI,但SDK确保以设计好的、可能是最优化的方式使用它