关于javascript:SAP-UI5-OData-模型V2-的使用方法介绍

41次阅读

共计 1371 个字符,预计需要花费 4 分钟才能阅读完成。

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"
    }
});

正文完
 0