ASP.NET Web Api 和数据协定

Posted

技术标签:

【中文标题】ASP.NET Web Api 和数据协定【英文标题】:ASP.NET Web Api and Data Contracts 【发布时间】:2013-04-19 00:20:18 【问题描述】:

我想为this public WEB API 创建一个客户端。我是新手,我正在经历this MSDN tutorial。我注意到没有定义数据合同,我无法在我的项目中添加服务引用。在教程中的某个地方,它说创建此类(产品)作为 HttpClient 将使用的数据对象。

使用公共 API 时如何查找/创建此类。在 WCF 中,我可以添加服务引用,并且我将获得从服务数据合同创建的客户端类。这在 Web Api 中是如何完成的?

【问题讨论】:

我不确定我是否理解这个问题:你有一个 web api 项目,它允许你访问特定 url 上的资源。 Product 将是您获得的资源之一,例如在网址api/product 上。在这种情况下,只需使用教程中的HttpClient 【参考方案1】:

如 MSDN 文章中所述,由于没有定义的合同(与 WCF 不同),您需要先创建适当的 Types 才能使用 REST 客户端使用它。

但是,您可以使用一些快捷方式,请参见此处: Generate Contracts for REST objects

另外,您可能会发现RestSharp 比官方 WebApi 客户端更易于使用。

【讨论】:

首先感谢您的回答。其次,我应该如何创建类型?我只有响应 XML 文件,并且我尝试创建与 XML 格式匹配的类(就类名和属性名而言)。我应该从 API 主机请求这些类,还是有另一种创建这些类型的方法

以上是关于ASP.NET Web Api 和数据协定的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net Web API 架构选择

Asp.net MVC 与 Asp.net Web API 区别

ASP.NET Web API 登录方法

Asp.Net Web API 2第一课——入门

ASP.NET Web API 2 入门教程

ASP.NET Web API的安全管道