OData版本2和3的区别

Dmi*_*din 7 rest odata

OData协议文档(http://www.odata.org/documentation)描述了两个版本--2 和3.

两个版本之间的核心差异是什么?

现有客户端库是否支持这两个版本,或者版本2被认为是"遗留"?

重新说一下 - 版本2客户端是否与版本3兼容?

Jen*_*n S 7

两个版本之间存在很多差异.例如,OData v3添加了对操作,函数,集合值,派生类型的导航属性和流属性的支持.它还为JSON引入了一种全新的序列化格式("application/json"在两个版本中意味着完全不同的东西).

当OData客户端向服务器发出请求时,它可以(并且应该)通过MaxDataServiceVersion HTTP标头指定它可以理解的最大协议版本.编写为仅了解协议v2的客户端将无法理解v3有效负载.

我认为我不会将v2称为"遗留"或不受支持,但个别服务器可以选择是否支持只能理解v2(或v1)的请求.我认为那里的许多现有客户都支持v2和v3.我知道WCF数据服务客户端(桌面,Windows Phone,Windows商店和Silverlight)都支持这两种方式.