首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SAPUI5中从REST端点获取模型

如何在SAPUI5中从REST端点获取模型
EN

Stack Overflow用户
提问于 2017-01-18 21:04:45
回答 1查看 207关注 0票数 1

我的rest客户端如下:

代码语言:javascript
复制
com.sap.lm.sl.slp.Proxy.prototype.loadAttributes = function(oInput) {
com.sap.lm.sl.slp.ajax.checks.assertString(oInput.id);
oInput.url = '{0}/service/attributes/id/{1}'.format(this.baseUrl, oInput.sid);
oInput.adapter = function(oResponse, oInput) {
    return oResponse;
};
return com.sap.lm.sl.slp.ajax.GET(oInput);
};

控制器如下:

代码语言:javascript
复制
 _appendAdditionalDetails: function() {
        var that = this;
        window.ctx.Client.loadAttributes ({
            sid: that.getid(),
            success: function(additional) {

如何从get获取值到控制器。如何在SAP UI5中声明模型

EN

回答 1

Stack Overflow用户

发布于 2017-04-23 15:09:54

根据响应的格式,您可以选择使用JSONModelXMLModel。如果数据既不是XML格式,也不是JSON格式,那么您应该尝试将其转换为其中一种格式。

在控制器的onInit方法中,您应该实例化适当的模型并将其注册到视图中。示例:

代码语言:javascript
复制
onInit: function() {
    // the second parameter is the model name / alias
    this.getView().setModel(new JSONModel(), "myModel");
}

在调用REST端点的控制器方法中,您应该获取在onInit方法中声明的模型,然后更新其数据(通过完全覆盖现有数据或修改它;这取决于您需要什么)。

代码语言:javascript
复制
_appendAdditionalDetails: function() {
    var oModel = this.getView().getModel("myModel");
    window.ctx.Client.loadAttributes ({
        sid: this.getid(),
        success: function(additional) {
            oModel.setData(additional);
        }
    }
}

如果需要完全替换现有数据,请使用setData方法。否则,使用setProperty方法(并将数据写入模型的某个子树中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41720213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档