2020-09-24 17:36发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
HI
我想创建使用多个提供商提供的服务的UI5应用程序,
因此,我想创建一些与下划线服务无关的抽象层
例如,UI应该提供完全相同的值,但可以使用不同的服务。
在这种情况下,UI5的最佳实践是什么? 如何建议创建此抽象层? 示例或参考将非常有帮助,因为我是UI5的新手
谢谢
大家好,
有什么主意吗? 方向?
谢谢!
可以从UI5层调用任何服务REST投诉。 将服务调用捆绑在一个单独的JS文件中,该文件将充当服务层。
然后,将服务结果加载到本地JSON模型中。
这些JSON模型可以在控制器或视图中使用。
此致
Sharath
我的方法如下。
拥有models.js文件是一种常见的做法。 例如,这通常用于创建设备模型。
在此文件中,我创建了包含我需要的所有URL的服务模型-您可以根据要部署到的环境进行更改(忽略这种复杂性)。
作为示例,在models.js文件中,包括以下服务网址:
createEnvironmentModel:function(environment,source){ var data = { 网址:{ 函数:" https://****api************.net/", 记录:" https://crosscutting.********/", 身份:" https://identity.********/", 原型:" http://localhost:57109/" },... ... var cModel = new JSONModel(data);
因此,鉴于上述是在Component.js内部调用的(同样是惯常做法),因此可以从整个应用程序(如果需要,可以使用全局模型)访问此模型
sap.ui.define([ " sap/ui/core/UIComponent", " sap/ui/model/json/JSONModel", " blt/ui5/model/models" ],函数(UIComponent,JSONModel,模型){ "使用严格"; 返回UIComponent.extend(" blt.ui5.Component",{ 元数据:{ 清单:" json" }, 初始化:函数(){ var sEnvironment ="/img/qac"; this.setModel(models.createEnvironmentModel(sEnvironment,this)," current"); //<------命名模型 //设置设备型号 this.setModel(models.createDeviceModel()," device");
然后我在服务调用(用于查询服务(用于READ活动)和命令服务(用于CrUD活动(WRITE))之间拆分)
以下示例:
getAssetByVin:函数(会话,VIN){ return simpleGet(session.urls.functions +"/img/v1/asset?primaryIdentifier =" + vin,session); },
会话实际上是命名模型(当前)的地方
我希望这是有道理的-进一步询问是否需要更多指导。
最多设置5个标签!
大家好,
有什么主意吗? 方向?
谢谢!
可以从UI5层调用任何服务REST投诉。 将服务调用捆绑在一个单独的JS文件中,该文件将充当服务层。
然后,将服务结果加载到本地JSON模型中。
这些JSON模型可以在控制器或视图中使用。
此致
Sharath
我的方法如下。
拥有models.js文件是一种常见的做法。 例如,这通常用于创建设备模型。
在此文件中,我创建了包含我需要的所有URL的服务模型-您可以根据要部署到的环境进行更改(忽略这种复杂性)。
作为示例,在models.js文件中,包括以下服务网址:
因此,鉴于上述是在Component.js内部调用的(同样是惯常做法),因此可以从整个应用程序(如果需要,可以使用全局模型)访问此模型
然后我在服务调用(用于查询服务(用于READ活动)和命令服务(用于CrUD活动(WRITE))之间拆分)
以下示例:
会话实际上是命名模型(当前)的地方
我希望这是有道理的-进一步询问是否需要更多指导。
一周热门 更多>