REST入门

时间:2020-03-05 18:52:42  来源:igfitidea点击:

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

此外,我们可能会对REST提出的其他任何建议也将不胜感激。

解决方案

回答

自.NET 3.5开始,Windows Communication Foundation支持REST模型。

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

REST和POX

一些学习REST的资源:

  • xFront.com上的REST文档
  • 架构风格和基于网络的软件架构设计。第5章:代表性状态转移(REST)(Roy Fielding博士论文-REST的作者)
  • 维基百科条目

回答

我读过的最好的介绍是RESTful Web Services书籍,它不仅介绍了模型和原理,而且还向我们实际展示了如何设计RESTful Web服务。最有用的是其有关如何编写/指定REST API的清单:

  • 找出数据集[即指定数据模型]。
  • 将数据集拆分为资源。对于每种资源:
  • 用URI命名资源。
  • 公开统一界面的子集[即指定使用的HTTP方法及其用途]。
  • 设计客户接受的表示形式(例如XML格式,我们可以PUT或者POST]。
  • 设计提供给客户的表示形式(例如返回的XML]。
  • 使用超媒体链接和表单将此资源集成到现有资源中。
  • 考虑一下典型的事件过程:应该发生什么? [这就像一个用例的主要成功方案。]
  • 考虑错误条件。 [这就像用例异常情况。]

回答

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

构建RESTful Web服务的准则包含有关所需资源的所有信息。

这是另一个有用的博客条目:

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

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

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

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

4)超媒体作为应用程序状态的引擎:应使用URI和超链接来表示应用程序状态,以在状态之间进行转换。对于Roy Fielding论文中提出的体系结构约束,这可能是最具争议性和了解最少的。实际上,Fielding的论文中包含一个明确的论点,反对使用HTTP cookie来表示应用程序状态,以此来说明这一点,但常常被忽略。

回答

"一篇非常清晰的文章,关于如何使用美味的方法使Web服务更加RESTful"

回答

xml.com上" RESTful Web"系列的文章非常棒
介绍。

作者(Joe Gregorio,《原子发布协议》成名)
定期在他的网站上发布有关REST所有事物的有见地的文章
博客。 " RESTify DayTrader"(REST
应用于基准股票交易应用程序的体系结构是一个很好的起点。我还喜欢"为什么要使用这么多的Python Web框架?",它显示了Python中一个小的静态Web框架的实现。