OData模型版本控制

时间:2018-08-25 07:13:29

标签: sapui5

我已经研究了许多平台,以发现所有版本的OData在CRUD操作方面的差异。但是,找不到相关的答案。

有人可以向我解释一下吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

OData(开放数据协议)定义了一组用于构建和使用RESTful API的最佳实践。 OData非常受欢迎,并已被许多技术采用。

OData 2和OData 4之间的主要区别

  1. 考虑使用以下功能启用应用程序或数据源时: OData端点,您总是会问自己是否应该使用 OData 2,OData 3或最新的OData 4版本。而OData 3和 OData 2非常相似,OData 4与 OData 2.在最新版本中,混合数据管道可以为您提供帮助 从您的数据源中生成OData 2和OData 4。 从Hybrid了解这些端点之间的差异 数据管道可以帮助您确定是否需要OData 2,OData 4或 两者。
  2. 数据2是Microsoft开放规范承诺(OSP),而OData是 4是由OASIS和ISO批准的。尽管开发人员感到担忧 有关采用OData 2的信息,我们发现OData 4的采用率更高。 根据OData 2规范,必须检索有效负载 XML和JSON格式。但是,在OData 4中,XML是可选的。 因此,今天的混合数据管道在OData 2中同时支持XML和JSON。 OData 4中只有JSON。但是,元数据仍然可以是 在OData 4中以XML格式检索。在OData 4中,JSON数据 格式现在允许您控制元数据的数量 在查询响应中返回。元数据分为三个级别 支持:

    • 完整:响应包含描述以下内容所需的所有元数据 响应。

    • 最小:响应元数据引用元数据文档。 元数据文档中的信息不会在响应中重复。

    • 无:响应不包含元数据。申请必须 了解响应结构。

  3. 混合数据管道仅在OData 4中支持批处理请求。批量 请求允许您以以下形式提交多个操作: 单端点请求。操作通过HTTP提交 请求有效负载,并且可以包括单个请求和变更集。 (有关批处理请求的更多信息,请参见本文。)
  4. OData 4添加了新的灵活搜索功能$ search。搜索 功能可让您查询集合中与 指定的搜索表达式。与现有的过滤器功能不同, 它允许查询指定特定属性或 属性符合特定条件,则搜索功能可以应用 搜索表达式到实体的任何属性。混合数据 管道也使用$ ddsearch将此功能扩展到OData 2 功能。
  5. $ expand系统查询选项在OData 4中得到了增强。 功能指定要包含在其中的相关资源 检索的资源。在OData 2中,如果单值导航 属性被扩展,您将获得实体的所有属性 是一个单值导航属性。如果一个集合 导航属性被展开,您将获得 集合以及这些实体的所有属性。在OData 4中, 您现在可以使用$ select,*,$ filter和 $ top操作:

* 用于扩展实体的所有关系

$ filter 使用$ filter系统查询选项,客户端可以过滤请求URL寻址的资源集合。将为集合中的每个资源评估使用$ filter指定的表达式,并且响应中仅包括该表达式评估为true的项目。

$ top 系统查询选项请求查询的集合中要包含在结果中的项目数。 $ skip查询选项请求查询的集合中要跳过但不包含在结果中的项目数。

$ select 系统查询选项允许客户端为每个实体或复杂类型请求一组有限的属性。

下表显示了两个OData模型支持的功能: Difference betwen OData and OData v2

有关更多信息,请参阅OData官方网站上的文档。

参考:

Odata.org Documentation

What's New With OData 4: OData 2 vs. OData 4