Olingo4是否向后兼容?
答
简短的回答是否。
长的答案是,Olingo或任何其他库只是OData协议的实现。该协议的第4版与以前的版本一样,已经破坏(读取不兼容)的变化。
您可以检查出this link获得的所有更改的列表,包括OData的不兼容的那些4.
现在是完全兼容的,既有的OData 2和4的OData,你可以阅读OData-MaxVersion
头发送由客户端和基于它,你可以相应地发送响应。这将需要你在你的后端运行odata 2和odata 4实现(使用Olingo 2和Olingo 4或其他)。
就个人而言,如果您今天刚刚起步,并且没有强有力的理由来实现两个实施,那么OData v4服务不支持较低版本的客户端。
OData 4服务可能会对具有4XX级别错误的V1-V3客户端作出响应。
答
它可以在一些琐碎的情况下工作,但即使是简单的count
的选择存在很大的分歧为不同的OData版本:
- http://services.odata.org/V2/OData/OData.svc/Products/ $ inlinecount =所有页& $格式= JSON [V2]?
- http://services.odata.org/V4/OData/OData.svc/Products?$计数=真& $格式= JSON [V4]
Official OData page表明阿帕奇Olingo,odata4j和爽框架应具有的OData 2.我不Olingo的客户端工作了V2客户端实现,但我听说这是十分拙劣。我从odata4j或Jello Framework(快速研究)中找不到任何有趣的东西。
在最坏的情况下,您可以使用标准的HTTP客户端。最后,OData基于REST。