当我启动我的sapui5应用程序然后基于manifest.json时,我正在努力找出解决方案的情况。配置应用程序应该在OData没有连接时启动模拟服务器,否则调用OData服务。现在我有mockserver.html启动模拟服务器和index.html的应用程序。
甚至可能我要问的是什么?
由于
答案 0 :(得分:0)
模拟服务器拦截您在模拟服务器实例化时指定的URL。 只需检查OData服务的可用性,如果您的服务不可用,则实例化模拟服务器。
sap.ui.define([
"sap/ui/core/util/MockServer",
"sap/ui/model/odata/v2/ODataModel"
], function(MockServer, ODataModel) {
"use strict";
return {
init: function() {
var oDataModel = new ODataModel("<your OData URL here>");
oDataModel.attachMetadataFailed(function() {
console.log("Metadata load failed :(");
/* Initialize mock server */
MockServer.config({
autoRespond: true
});
var oMockServer = new MockServer({
rootUri: "<your OData URL here>"
});
oMockServer.simulate("path/to/metadata.xml", {
sMockdataBaseUrl: "path/to/mockdata",
bGenerateMissingMockData: true
});
oMockServer.start();
});
}
};
});
我没有时间测试我的解决方案,但它应该以这种方式工作。