SAPUI5:如何在运行时设置服务url参数?
我有一个OData服务,它是在SAPUI5:如何在运行时设置服务url参数?,sapui5,Sapui5,我有一个OData服务,它是在manifest.json 在某些服务中,我需要传递一些url参数,如?$expand=XYZ 所以问题是,当OData模型由组件类创建时,如何在运行时而不是在manifest.json中设置serviceUrlParams。希望这会有所帮助 var oModel = sap.ui.getCore().getModel(); oModel.read("/entityset?$expand=" + dynamicValue,mParameters); 对于展开url
manifest.json
在某些服务中,我需要传递一些url参数,如?$expand=XYZ
所以问题是,当OData模型由组件类创建时,如何在运行时而不是在manifest.json
中设置serviceUrlParams
。希望这会有所帮助
var oModel = sap.ui.getCore().getModel();
oModel.read("/entityset?$expand=" + dynamicValue,mParameters);
对于展开url数据,请使用read函数的第二个参数
oDataModel.read("/yourEntitySet", {
success:jQuery.proxy(this._yourSuccessCallback, this),
urlParameters: {
"$expand": "YourExpandData"
},
error: jQuery.proxy(this._yourErrorCallback, this)
});
似乎存在一种误解,即
$expand
等参数属于serviceUrlParams
。不,我们需要区分
- 元数据URL参数:
在模型定义中。这些参数将仅附加到模型实例化时的metadataUrlParams
请求$metadata
- 服务URL参数:
在模型定义中。这些参数将附加到所有请求serviceUrlParams
- 数据URL参数:
- 绑定定义(通常在视图中)中的参数为,或
- 模型API中的
,例如urlParameters
asread
$expand
,数据请求参数是您必须在每个需要的绑定定义中定义的参数。然后,将按需加载相应的数据
API参考:
文档:I已测试。问题是sapui5从路径中删除$expand。@Martin@Sriram:为了能够在read方法中使用
expand
,您可以使用并传递“$expand”:“ToXYZ”
。是我的答案,使用“展开阅读”。可能重复