创建对 REST API 的调用以加载 JSON 模型以绑定到视图/控制器。使用托管应用程序路由器创建自由式 Fiori 应用程序
例如(new JSONModel()).loadData("/Products");注意:完整 URL 为 = https://dummyjson.com/Products)
xs-app.json 条目如下 { "来源": "^/产品", “目的地”:“APITEST”, "authenticationType": "xsuaa", “csrfProtection”:假 },
BTP 中的 APITEST 目标配置为无身份验证且 URL = https://dummyjson.com/
HTML5 应用程序已部署到 BTP Cloud Foundry
单击 BTP Cockpit HTML5 应用程序列表中的应用程序时出现 404 错误。但是,如果我更改步骤 1 以将前缀 /Products 删除为 Products,则它可以正确解析。例如
(new JSONModel()).loadData("Products") 很好。但更复杂的是,当我将应用程序部署到构建应用程序启动板时,它停止工作!注意。我已经尝试了启动板的两种变体,但它无论带前导/还是不带前导都不起作用。
有关我如何错误配置文件以解决此问题的任何指示。
在这种情况下(没有启动板)并在相对 URL 中使用“产品”,当我通过 Chrome 中的开发人员工具查看“网络”时,解析的 URL 包括应用程序名称作为通过目标服务访问的 URL 的一部分
意识到使用以下实用程序在 JSON 模型上调用 loadData() 方法时需要正确添加 URL 前缀
sap.ui.require.toUrl(appPath+"/产品")。
var appId = this.getOwnerComponent().getManifestEntry(“/sap.app/id”); var appPath = appId.replaceAll(“.”, “/”);
取自以下博客,但使用 sap.ui.require.toUrl 作为 getModulePath 现已弃用。