如何以 mock server 的方式本地启动 SAP UI5 应用,使它不连接服务器端 OData 服务

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 601

我们在做 SAP UI5 开发时,在视图逻辑没有开发完毕时,往往不希望连接服务器端的 OData 服务进行联调,而仅仅连接本地端的测试数据。


本文介绍如果启动本地 mock server,将 SAP UI5 项目工程里提前准备好的测试数据,渲染到 SAP UI5 应用的视图上。


本文介绍具体方法。


因为不需要直接连接后台 OData 服务,因此 manifest.json 的 dataSources 区域也就无需维护真实的服务器端 OData 服务的 url 了:image.pngsap.ui5 区域里,定义该应用的根视图 (rootView)为 SmartTable:image.png

  1. SmartTable.view.xml 的源代码:image.pngimage.pngcontroller 什么都不用实现:image.pngcomponent.js 也不用实现:image.png主要的逻辑位于 sap.ui.core 的 Init hook 实现函数里。加载项目工程文件夹 test/service 下面的 server.js, 启动这个 mock server,然后将 sap.ui.demo.smartControls 这个 Component,放置到ComponentContainer,即 Component 容器里渲染成最后的 HTML 源代码:image.png主要代码:image.pngMock server 的核心逻辑在这个 server.js 里:image.png使用的是 SAP UI5 提供的标准 Mock server,位于目录 sap/ui/core/util/MockServer 下面。image.pngimage.png为了配合 mock server 工作,本地必须保存一个 metadata.xml:image.png同时将本地测试数据,以 json 文件的形式维护在工程里:image.png文件名必须为 metadata.xml 里定义的同名 entitySet:image.png最后本地读取 mock server 返回的测试数据,应用界面如下:image.png
本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: