Answers:
更新 警告,由于OData V4可用,此答案已经过时了。
不久前,我在这里写了一篇有关该主题的文章。
正如Franci所说,OData基于Atom Pub。但是,他们将某些功能置于顶层,但不幸的是,在此过程中它们忽略了一些REST约束。
OData服务的查询功能要求您根据不可用或未链接到响应的信息来构造URI。REST人们称之为带外信息,并引入了客户端和服务器之间的隐藏耦合。
引入的另一种耦合是通过使用EDMX元数据来定义条目内容中包含的属性。可以在称为$ metadata的固定端点处发现此元数据。再次,客户端需要事先知道这一点,无法发现它。
不幸的是,Microsoft认为不适合创建媒体类型来描述这些关键数据,因此任何OData客户端都必须对其正在与之交谈的服务以及正在接收的数据做出一系列假设。
OData协议建立在AtomPub协议之上。AtomPub协议是REST API设计的最佳示例之一。因此,从某种意义上来说,您是对的-OData只是另一个REST API,每个OData实现都是一个REST-ful Web服务。
区别在于OData是特定协议;REST是建筑风格和设计模式。
OData(开放数据协议)是OASIS标准,它定义了构建和使用RESTful API的最佳实践。OData可帮助您在构建RESTful API时专注于业务逻辑,而不必担心定义请求和响应头,状态代码,HTTP方法,URL约定,媒体类型,有效载荷格式和查询选项等的方法。OData还可以指导您跟踪更改,定义可重用过程的功能/动作以及发送异步/批处理请求等。此外,OData还提供了扩展功能,可以满足RESTful API的任何自定义需求。
OData RESTful API易于使用。OData元数据是API数据模型的机器可读描述,可用于创建功能强大的通用客户端代理和工具。其中一些可以帮助您与OData进行交互,即使您不了解有关该协议的任何信息。以下6个步骤演示了在不同编程平台上使用OData的6种有趣场景。但是,如果您不是开发人员,并且想简单地使用OData,那么XOData是您的最佳入门。
有关更多详细信息,请访问http://www.odata.org/
ODATA是一种特殊的REST,我们可以从URL 统一查询数据。