共计 1226 个字符,预计需要花费 4 分钟才能阅读完成。
代码如下:
oModel.setHeaders({"myHeader1" : "value1", "myHeader2" : "value2"});
咱们能够先通过如下代码,拿到一个 OData Service url 对应的 OData Model 实例:
// "ODataModel" required from module "sap/ui/model/odata/v2/ODataModel"
var oModel = new ODataModel("http://myserver/MyService.svc/?myParam=value&myParam2=value");
增加自定义标头时,如果未在标头映射中再次指定,所有以前的自定义标头都将被删除。有些 header 是公有的,也就是 OData 模型外部设置的,不能设置:
- “accept”
- “accept-language”
- “maxdataserviceversion”
- “dataserviceversion”
- “x-csrf-token”
OData 模型的绑定门路语法与绝对于 OData 中用于拜访特定实体或实体集的服务 URL 的 URL 门路相匹配。
能够依据服务元数据中定义的 OData 服务构造拜访 OData 模型提供的数据。URL 参数(例如过滤器)不能增加到绑定门路中。绑定门路能够是相对的或绝对的。相对绑定门路会立刻解析。相对路径只有在可能主动转换为相对绑定门路的状况下能力被解析。
例如,如果属性绑定到相对路径,而后父控件绑定到绝对路径,则能够将绝对属性门路解析为绝对路径。
ODataModel 中的以下绑定示例取自 Northwind 演示服务。
相对绑定门路(以斜杠 (‘/’) 结尾):
"/Customers"
"/Customers('ALFKI')/Address"
能够应用上下文解析的绝对绑定门路(例如“/Customer(‘ALFKI’)”):
"CompanyName"
"Address"
"Orders"
解析成的绝对路径:
"/Customer('ALFKI')/CompanyName"
"/Customer('ALFKI')/Address"
"/Customer('ALFKI')/Orders"
导航属性 (navigation properties),用于标识单个实体或实体汇合:
"/Customers('ALFKI')/Orders"
"/Products(1)/Supplier"
从 OData 服务申请的数据缓存在 OData 模型中。
它能够通过 getProperty() 办法拜访,该办法返回实体对象或值。此办法不从后端申请数据,因而您只能拜访已申请和缓存的实体:
oModel.getProperty("/Customer('ALFKI')/Address");
下列代码返回 undefined:
只能应用此办法拜访单个实体和属性。要拜访实体集,能够通过列表绑定获取所有读取实体的绑定上下文。此办法返回的值是模型中数据的正本,而不是 JSONModel 中的援用。