不积跬步无以至千里,不积小流无以成江河

小蜗牛的白日梦

导航

SAP UI5学习笔记之(十二)虚拟服务器配置-Mock Server Configuration

在开发和测试中,我们一般不会使用生产用的真实的远程服务器,因为这样可能对真实服务器增加负载,而且很不安全。

为了测试我们的程序我们可以使用SAPUI5提供的Mock Server来模拟一个服务器。

Walkthrough中的Step27详细讲解了Mock Server的实现过程。

Walkthrough Step27链接:https://sapui5.netweaver.ondemand.com/sdk/#/topic/bae9d90d2e9c4206889368f04edab508

 

但是我用例子的代码测试发现画面加载的数据不是Mock数据,而是Step26OData远程service的数据。

 

 

 

 

我试着改了webapp/localService/mockserver.js这个文件里下面这句话:

rootUri: "https://services.odata.org/V2/Northwind/Northwind.svc/"

改成:

rootUri: "/destinations/northwind/V2/Northwind/Northwind.svc/"

 

 

测试发现数据正常显示为Mock数据了。

 

原因分析

 

其实在Step27的后面描述中我们也能看到,mockserver.js的init方法中,

首先创建了一个MockServer实例,这个实例必须与真实server相同的URI,可以是绝对路径,也可以是我们在manifest.json中配置的datasources里的相对路径。

然后模拟远程访问的响应时间给Mock Sever配置一个延迟。

最后使用MockSever的simulate方法使得请求的数据由我们的MockServer提供,而不是由真实服务提供。

 

由于Step26运行时出现同源策略违反导致数据加载不上,我们把manifest.json中的datasources里的uri配置为相对路径(SAP Cloud Platform Cockpit中的Destination),

所以在Step27时两个URI不是完全一致的,导致Mock失败。

 

解决方案

只需将这两个URI改成一致就好了。

都是"https://services.odata.org/V2/Northwind/Northwind.svc/",

或者都是 "/destinations/northwind/V2/Northwind/Northwind.svc/"。

 

posted on 2020-08-05 18:36  小蜗牛的白日梦  阅读(580)  评论(0编辑  收藏  举报