Nov
26
2021
如何以 mock server 的方式本地启动 SAP UI5 应用,使它不连接服务器端 OData 服务
我们在做 SAP UI5 开发时,在视图逻辑没有开发完毕时,往往不希望连接服务器端的 OData 服务进行联调,而仅仅连接本地端的测试数据。
本文介绍如果启动本地 mock server,将 SAP UI5 项目工程里提前准备好的测试数据,渲染到 SAP UI5 应用的视图上。
本文介绍具体方法。
因为不需要直接连接后台 OData 服务,因此 manifest.json 的 dataSources 区域也就无需维护真实的服务器端 OData 服务的 url 了:sap.ui5 区域里,定义该应用的根视图 (rootView)为 SmartTable:
- SmartTable.view.xml 的源代码:controller 什么都不用实现:component.js 也不用实现:主要的逻辑位于 sap.ui.core 的 Init hook 实现函数里。加载项目工程文件夹 test/service 下面的 server.js, 启动这个 mock server,然后将 sap.ui.demo.smartControls 这个 Component,放置到ComponentContainer,即 Component 容器里渲染成最后的 HTML 源代码:主要代码:Mock server 的核心逻辑在这个 server.js 里:使用的是 SAP UI5 提供的标准 Mock server,位于目录 sap/ui/core/util/MockServer 下面。为了配合 mock server 工作,本地必须保存一个 metadata.xml:同时将本地测试数据,以 json 文件的形式维护在工程里:文件名必须为 metadata.xml 里定义的同名 entitySet:最后本地读取 mock server 返回的测试数据,应用界面如下:
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>
我有话说: