【问题标题】:REST JAVA Service and SAPUI5REST JAVA 服务和 SAPUI5
【发布时间】:2018-02-26 15:24:36
【问题描述】:

在我的 SAPUI5 应用程序中,我们正在尝试从 REST 服务获取数据。我在 SCP cockpit 中创建了目的地,并在 neo-app.json 文件中提到了相同的目的地。我能够通过 AJAX 调用成功获取数据。我的问题是:这是从 REST 服务获取数据的唯一方法。因为对于 Northwind 服务,我没有使用任何 AJAX 调用。我只是在 neo-app.json 文件中提到了我的目标名称,在我的 manifest.json 中创建了一个数据源,并使用我创建了一个模型的数据源。但我不能为我的 REST 服务做同样的事情。在创建数据源时,我收到 500 Internal Server Error。

感谢和问候, 女士

【问题讨论】:

    标签: rest sapui5


    【解决方案1】:

    Northwind 服务是遵循开放数据协议的 oData 服务。因此,您可以创建一个数据源,该数据源可用于在 UI5 中创建 oData 模型。 UI5 内部使用 data.js 提供方便的方法来执行服务请求,如读取、更新、插入或删除,因此您不必执行任何 AJAX 调用并继续操作 URL。当您使用任何 UI5 数据模型 (oData/JSON/XML/ResourceModel) 时,您的绑定和聚合也由 UI5 自动管理。

    如果您的基于 JAVA 的服务实现了 oData 协议,您可以像使用 Northwind 服务一样使用它。如果它以 JSON 或 XML 的形式提供响应,您可以使用 JSON 模型或 XML 模型。但是,如果响应是其他格式,则必须使用 AJAX 调用、解析数据并最好将其转换为 JSON。然后,您可以将它与 JSON 模型一起使用。

    您必须在 neo-app.json 中添加目的地

    {
              "path": "/comments",
              "target": {
                "type": "destination",
                "name": "JAVAJSON",
                "entryPath": "/comments"
              },
              "description": "JAVA based REST API"
    }
    

    然后在你的 manifest.json 中创建一个模型

    "models": {
       "":{
        ...
        ...
       }
       "DataModel": {
         "type": "sap.ui.model.json.JSONModel",
         "settings": {},
         "uri": "/comments",
         "preload": false
       }
    }
    

    【讨论】:

    • 您好斯蒂芬,谢谢您的回复。我们的服务以 JSON 格式返回输出。我可以通过手动创建数据源来创建模型吗?
    • 所以我的 URL 是这样的:https:////Initial/vessels。我使用 url 创建了一个目的地: https:/// 。 { "path": "/vesselInformation", "target": { "type": "destination", "name": "lsITSVesselInformation" },现在我按照您的建议创建了一个模型:"DataModel": { "type": "sap.ui.model.json.JSONModel", "settings": {}, "uri": "/vesselInformation", "preload": false } } 那么如何读取模型实体(vessels)。是 oModel.read();这里可以吗?
    • 可以直接将模型绑定到一些UI5控件上。 Model.read 用于 oData 模型。
    • 嗨,斯蒂芬,您是说在创建目的地时,我应该提供如下完整的 URL:https:////Initial/vessels
    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    相关资源
    最近更新 更多