SAPUI5 - 模拟服务器自动回退配置

时间:2017-01-23 14:58:12

标签: sapui5

当我启动我的sapui5应用程序然后基于manifest.json时,我正在努力找出解决方案的情况。配置应用程序应该在OData没有连接时启动模拟服务器,否则调用OData服务。现在我有mockserver.html启动模拟服务器和index.html的应用程序。

甚至可能我要问的是什么?

由于

1 个答案:

答案 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();
            });
        }
    };
});

我没有时间测试我的解决方案,但它应该以这种方式工作。