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

JerryWang_汪子熙 -
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"
    }
});
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

javascript前端typescripthtml5html

扩展阅读

加个好友,技术交流

1628738909466805.jpg