SAP UI5 OData 模型(V2) 的使用方法介绍

简介: SAP UI5 OData 模型(V2) 的使用方法介绍

OData 模型是服务器端模型,这意味着数据集仅在服务器上可用,客户端即 SAP UI5 应用只知道当前可见(请求)的数据。 排序和过滤等操作在服务器上完成,然后将处理结果返回给客户端。 客户端向服务器发送请求并显示返回的数据。


注意:对后端的请求由 ODataModel 提供的列表绑定 (ODataListBinding)、上下文绑定 (ODataContextBinding) 和 CRUD 函数触发。 属性绑定 (ODataPropertyBindings) 不会触发请求。


SAP UI5 实现了以下两个版本的 OData 模型:sap.ui.model.odata.ODataModel 和 sap.ui.model.odata.v2.ODataModel。 v2.ODataModel 具有改进的功能集,新功能将仅在此模型中实现。 sap.ui.model.odata.ODataModel 已弃用。 我们建议仅使用 v2.ODataModel。


如下图所示:




对于 OData 服务,开发人员可以使用 URL 参数进行配置。 SAPUI5 根据各自的绑定自动设置大多数 URL 参数。

例如,对于身份验证令牌或常规配置选项,可以向请求 URL 添加其他参数。 某些参数不能包含在每个请求中,而只能添加到特定的列表或上下文绑定中,例如 $expand 或 $select。 为此,绑定方法提供了传递参数映射的选项,然后将其包含在针对此特定绑定的所有请求中。 OData 模型目前仅支持 $expand 和 $select。


下面是几种添加参数到 Service url 的办法:


第一种:


// "ODataModel" required from module "sap/ui/model/odata/v2/ODataModel"
var oModel = new ODataModel("http://myserver/MyService.svc/?myParam=value&myParam2=value");


这些参数将包含在发送到 OData 服务器的每个请求中。


还可以传递仅用于 $metadata 请求的 URL 参数 (metadataUrlParams) 以及仅包含在数据请求中的 URL 参数 (serviceUrlParams)。 参数作为映射传递:


// "ODataModel" required from module "sap/ui/model/odata/v2/ODataModel"
var oModel = new ODataModel({ 
    serviceUrl: "http://services.odata.org/Northwind/Northwind.svc",    
    serviceUrlParams: {
        myParam: "value1",
        myParam2: "value2"
    },
    metadataUrlParams: {
        myParam: "value1",
        myParam2: "value2"
    }
});


Custom HTTP headers


可以添加随每个请求发送的自定义标头。


向 OData 模型构造函数提供标头映射或使用 setHeaders() 函数:


使用 mparameters 映射传递自定义标头:


var oModel = new sap.ui.model.odata.v2.ODataModel({
    headers: {
        "myHeader1" : "value1",
        "myHeader2" : "value2"
    }
});




相关文章
|
2月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
29 0
|
2月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
17 0
|
2月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
2月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
33 0
|
2月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
33 0
|
2月前
|
开发者 UED
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
15 0
|
25天前
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
16 1
|
2月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
15 0
|
2月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
15 0
|
2月前
|
数据库 开发者 容器
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
26 0