SAPUI5 中包含的模拟服务器模仿 OData V2 后端调用。 它模拟 OData 提供程序并且完全基于客户端,这意味着不需要与远程主机的网络连接。 它拦截对服务器的 HTTP 调用,并向客户端提供伪造的输出。 所有这些对于数据绑定和 OData 模型的使用都是透明的,感觉就像一个真正的服务器。 OData 模型不需要任何更改。
OData V2 模拟服务器提供模拟服务和模拟数据。 它支持基于服务元数据随机生成的数据以及 JSON 文件中提供的模拟数据。
为什么没有按照 productCollection json 文件里的数据返回?而返回的是 name1,name2,name3 这种有规律的数值。
从打印的 log 能看出,Mock Server 接收到的请求 url 是正确的。
上图第20行代码 Mock Server 构造函数里的 rootUri 参数:属性 rootUri 的 getter,必须是相对的并且需要尾随“/”。 它还需要匹配 OData/JSON 模型中设置的 URI 或简单的 XHR 调用,以便模拟服务器拦截它们。
默认值为空/未定义。 必须以尾部斜线 (“/”) 结尾。
我没有指定 productCollection.json
MockServer._generateDataFromEntitySet
什么数据也没检索到:
MockServer._applyQueryOnCollection:
为 $inlinecount 返回数据:
mockdata 此时是空的:
没有插入到 mockdata 里:
这个 mData 直接就是一个 flat 的数组:
Mock Server 的 simulate 方法:
通过指定元数据 URL 和模拟数据的基本 URL 来模拟现有的 OData 服务。 服务器根据服务元数据配置请求处理程序。 模拟数据需要为每个实体类型单独存储在单独的 JSON 文件中。 JSON 文件的名称需要与实体类型的名称相匹配。 如果没有指定模拟数据的基本 url,则模拟数据是从元数据生成的。