- Chrome 开发者工具 Console 面板里的 VM 是什么
- SAP UI5 Theme Library 的解析逻辑和 SAP
- 关于 SAP UI5 参数 $$updateGroupId 前面
- SAP UI5 Page 控件的构造函数参数讲解
- SAP UI5 设备类型检测 Device API 的工作原理
- 通过 FileUploader 的初始化,了解 SAP UI5
- SAP UI5 Web Component的图标实现
- 通过 SAP UI5 的 TypeScript 开发环境,来学习
- Fiori-like Prototype ( 2021 SAP
- 如何通过 ABAP 代码给 SAP OData 元数据增添注解试
本教程前三篇文章,我们详细介绍了 sap.ui.model.odata.v2.ODataModel 这个 API 提供的 read 方法的使用细节。
-
SAP UI5 应用开发教程之一百六十四 - 通过 sap.ui.model.odata.v2.ODataModel 的 read 方法,读取 OData 数据的编程方式讲解
-
SAP UI5 应用开发教程之一百六十五 - SAP UI5 应用如何采取 JavaScript 代码调用 OData API 读取满足过滤条件的业务数据($filter 操作)
-
SAP UI5 应用开发教程之一百六十六 - SAP UI5 OData API 中针对 Edm.DateTime 日期时间类型的操作详解
有朋友提出疑问,说对 SAP UI5 官网 里介绍的这个 read 方法的可选参数 mParameters
的 context
字段有所疑问,想通过一个具体例子来学习其概念。
本文咱们就来学习这个 context 概念。
本文之前我们展示了 OData 协议支持的过滤操作 $filter
在 SAP UI5 OData API 中是如何调用的:
那么假设我想查询 id 为 10248 这个订单的详细数据。首先根据这个 url https://services.odata.org/V2/Northwind/Northwind.svc/$metadata
拿到 NorthWind OData 服务的元数据:
从中观察到 Order 模型的 key 为 OrderID. 那么我们如果想根据 key 字段来读取 OData 节点的数据,除了使用 $filter
操作符之外,有一种更加简便的访问方式,即直接将 key 字段值拼接在 Orders 这个 EntitySet 后面,完整 url 如下:
https://services.odata.org/V2/Northwind/Northwind.svc/Orders(10248)
我们仔细查看这个订单数据,发现了 Order_Details
这个节点,其数据默认没有在当前读取请求内被返回,仅仅返回了如果想读取该数据,需要使用的 url 为 https://services.odata.org/V2/Northwind/Northwind.svc/Orders(10248)/Order_Details
:
我们再访问 https://services.odata.org/V2/Northwind/Northwind.svc/Orders(10248)/Order_Details
,就能看到三条
Order 明细数据:
每条明细数据包含行项目的产品 ID,即字段 ProductID
,还有该产品购买的数量 Quantity
以及单价 UnitPrice
.
在 metadata 里,Order 节点和 Order_Details
节点的导航关系,通过名叫 Order_Details
的 NavigationProperty
进行关联。
也就是说,我们要读取一个订单的明细数据,前提
是先获得该订单的抬头数据即获得 Order 节点的数据,然后再通过 Navigation Property,Order_Details
进行进一步读取。这里的 Order 抬头数据,相对于 Order_Details
数据而言就是后者的 上下文
即 Context.
我们下面就来学习如何使用 SAP UI5 OData API 进行编码来读取指定 ID 的 Order 以及 Order Details 数据。
网友评论