OData和REST-ful web服务之间的区别是什么?


当前回答

2012年OData进行了标准化,所以我只是在这里添加了一个更新。

首先是定义:

REST——是一种如何通过HTTP发送消息的体系结构。

OData V4——是REST的一个特定实现,真正定义了不同格式的消息内容(目前我认为是AtomPub和JSON)。ODataV4遵循rest原则。

例如,asp.net开发人员将主要使用WebApi控制器将对象序列化/反序列化为JSON,并让javascript对其进行处理。Odata的关键在于能够直接从URL进行查询 开箱即用的选项。

其他回答

REST代表具象状态传输,这是一种基于资源的架构风格。基于资源意味着数据和功能被视为资源。

OData是一个基于web的协议,它定义了一组构建和使用rest式web服务的最佳实践。OData是一种创建REST式web服务的方法,是REST的实现。

ODATA是一种特殊的REST,我们可以从URL统一地查询数据。

2012年OData进行了标准化,所以我只是在这里添加了一个更新。

首先是定义:

REST——是一种如何通过HTTP发送消息的体系结构。

OData V4——是REST的一个特定实现,真正定义了不同格式的消息内容(目前我认为是AtomPub和JSON)。ODataV4遵循rest原则。

例如,asp.net开发人员将主要使用WebApi控制器将对象序列化/反序列化为JSON,并让javascript对其进行处理。Odata的关键在于能够直接从URL进行查询 开箱即用的选项。

来自OData文档:

OData协议是一种应用程序级协议,用于通过RESTful web服务与数据交互。 ... OData协议不同于其他基于rest的web服务方法,因为它提供了一种统一的方式来描述数据和数据模型。

OData协议构建在AtomPub协议之上。AtomPub协议是REST API设计的最佳示例之一。所以,在某种意义上你是对的——OData只是另一个REST API,每个OData实现都是一个REST web服务。

不同之处在于OData是一个特定的协议;REST是体系结构风格和设计模式。