OData 和有什么区别和 REST 式 Web 服务?
最佳答案
更新警告,既然 OData V4 可用,这个答案就已经非常过时了。
<小时/>我不久前写了一篇关于这个主题的文章 here .
正如 Franci 所说,OData 是基于 Atom Pub 的。然而,他们在顶部分层了一些功能,不幸的是忽略了过程中的一些 REST 约束。
OData 服务的查询功能要求您根据响应中不可用或链接到的信息构建 URI。这就是 REST 人们所说的带外信息,并在客户端和服务器之间引入了隐藏的耦合。
引入的另一个耦合是通过使用 EDMX 元数据来定义条目内容中包含的属性。可以在名为 $metadata 的固定端点发现此元数据。再次强调,客户端需要提前知道这一点,否则无法被发现。
不幸的是,Microsoft 认为不适合创建媒体类型来描述这些关键数据,因此任何 OData 客户端都必须对其正在对话的服务及其正在接收的数据做出一系列假设。
关于web-services - OData 和 REST Web 服务之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2458407/