【问题标题】:Getting started with REST [closed]开始使用 REST [关闭]
【发布时间】:2010-09-08 19:07:21
【问题描述】:

我正在寻找一些关于使用 .NET 创建RESTful Web 服务的最佳实践和示例代码的良好链接。

此外,非常感谢您对 REST 提出的任何其他意见。

【问题讨论】:

标签: .net web-services rest


【解决方案1】:

Windows 通信基金会supports REST model since .NET 3.5

您可以在 MSDN 上找到文档和代码示例:

REST and POX

学习 REST 的一些资源:

【讨论】:

  • 自 90 年代 Windows 平台将 TCP/IP 堆栈和 HTTP 协议整合到一起,就一直支持 REST 模型。 REST 是一种解决问题的方法,而不是您插入的库或框架,这一切都神奇地发生了。
  • Darrel Miller,你应该仔细阅读问题。用户询问 .NET 中的 REST 支持
  • 对不起,我被你用大锤敲碎坚果分散了注意力。 HttpListener 和 HttpWebRequest 足以支持 REST。 .Net 2.0 相当强大。
【解决方案2】:

我读过的最好的介绍是RESTful Web Services book,它不仅解释了模型和原理,还实际向您展示了如何设计一个 RESTful Web 服务。最有用的是它关于如何编写/指定 REST API 的清单:

  1. 找出数据集[即指定数据模型]。
  2. 将数据集拆分为资源。对于每种资源:
  3. 使用 URI 命名资源。
  4. 公开统一接口的子集 [即指定使用哪些 HTTP 方法以及它们的作用]。
  5. 设计从客户那里接受的表述[例如。您可以 PUT 或 POST 的 XML 格式]。
  6. 设计提供给客户的表示[例如。你得到的 XML]。
  7. 使用超媒体链接和表单将此资源集成到现有资源中。
  8. 考虑事件的典型过程:应该发生什么? [这就像一个用例主要的成功场景。]
  9. 考虑错误情况。 [这类似于用例异常场景。]

【讨论】:

  • 虽然接近尾声有点多余,但我还是支持这本书的推荐。对理解 REST 很有帮助。
【解决方案3】:

ADO.Net Data Servcies 使得在.Net 世界中构建和consume RESTful Web 服务变得非常容易,但是理解这些概念很重要。与 WCF(后来添加了 REST 支持)相比,ADO.Net 数据服务主要是为 REST 构建的。

Guidelines for Building RESTful Web Services 拥有您所需资源的所有信息。

这是另一个有用的blog entry

统一接口约束描述了为 Web 构建的服务如何成为 Web 架构的良好参与者。这些约束简述如下:

1) 资源标识:资源是可以命名和表示的任何信息项(例如,文件、给定时间点的股票价格、拉斯维加斯当前的天气等)。您的服务中的资源应使用 URI 进行标识。

2) 通过表示操作资源:表示是资源的物理表示,应该对应于有效的媒体类型。使用标准媒体类型作为服务背后的数据格式,可以让广泛的潜在客户访问您的服务,从而扩大服务的覆盖范围。与资源的交互应基于对其 URI 标识的资源表示的检索和操作。

3) 自描述消息:遵循服务交互中的无状态原则,使用标准媒体类型并通过 HTTP 方法使用和控制标头正确指示消息的可缓存性,确保消息是自描述的。自描述消息使客户端和服务器之间的中介处理消息成为可能,而不会影响任何一方。

4) 超媒体作为应用程序状态的引擎:应用程序状态应该使用 URI 和超链接来表示,以便在状态之间转换。这可能是Roy Fielding's dissertation 中提出的架构约束中最具争议性和最不被理解的。事实上,Fielding 的论文包含一个明确的论点,反对使用 HTTP cookie 来表示应用程序状态来强调这一点,但它经常被忽略。

【讨论】:

    【解决方案4】:
    【解决方案5】:

    xml.comRESTful Web”系列的文章很棒 介绍。

    作者(Joe Gregorio,The Atom Publishing Protocol 成名)也 定期在他的 weblog。 “RESTify DayTrader”(休息 应用于基准股票交易应用程序的架构)是一个很好的起点。我也喜欢“Why so many Python web frameworks?”,它展示了一个用 Python 实现的小型 restful web 框架。

    【讨论】:

      【解决方案6】:

      当我开始开发 REST Web 服务时,我阅读了 Mark Masse 的 REST API 设计规则手册。一旦您了解了基础知识和理论,您将能够使用 WCF、HTTPListener 或 ServiceStack 实现 REST。所有这些框架都是 .NET 并且有很好的文档记录......

      我会向您推荐服务堆栈 (http://www.servicestack.net/),网上有足够的信息可以开始使用。

      WCF 提供了 ASP.NET Web API,还可以,但是我没用。

      无论如何,今天没有好的 REST 框架,你必须选择一个你觉得容易使用的框架,然后应用你从书中学到的理论。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 1970-01-01
        • 2013-11-05
        相关资源
        最近更新 更多