gpt4 book ai didi

json - 如何将来自 REST-API 的 json 数据映射到 ember.js 模型?

转载 作者:行者123 更新时间:2023-12-02 02:00:18 24 4
gpt4 key购买 nike

我是 EmberJS 的新手,尝试通过 RESTAdapter 将我的 EmberJS 前端连接到 API。我正在使用 ember-1.0.0-rc.6 和 ember-data-latest(版本:v0.13-59-ge999edb)。从 API 中,我得到以下 JSON 代码:

{
"page": 1,
"limit": 5,
"total": 4,
"results": [
{
"id": 1,
"title": "something3",
"description": "asd3"
},
{
"id": 2,
"title": "something3",
"description": "asd3"
},
{
"id": 3,
"title": "something2",
"description": "asd2"
},
{
"id": 4,
"title": "something",
"description": "asd"
}
]
}

我的 RESTAdapter 如下所示:

App.Store = DS.Store.extend({
revision: 13,
adapter: DS.RESTAdapter.extend({
url:"http://localhost/api/app_dev.php"
})
});

我的模型现在看起来像这样:

App.Modelname = DS.Model.extend({
title: DS.attr('string')
});

有了这个,我在浏览器控制台中收到以下错误:

断言失败:您的服务器返回了一个包含关键页面的散列,但您没有针对它的映射

我的问题是如何在不更改服务器上的 api 的情况下将 api 的 json 输出连接到我的 ember 模型?

在此先感谢您的支持!

最佳答案

如果你的模型是这样的:

App.Modelname = DS.Model.extend({
title: DS.attr('string')
});

然后 RESTAdapter 需要这样的 JSON 格式:

{
"modelNames": [
{
"id": 1,
"title": "something3",
"description": "asd3"
},
{
"id": 2,
"title": "something3",
"description": "asd3"
},
{
"id": 3,
"title": "something2",
"description": "asd2"
},
{
"id": 4,
"title": "something",
"description": "asd"
}
]
}

您当然可以通过配置 JSONSerializerRESTAdapter 的某些方面来调整其中的一些行为,IMO 可以完全控制我建议创建您自己的适配器通过覆盖 findfindAll 等重要函数并使用普通的 $.ajax(...)。否则,您需要让您的后端遵循 ember-data 期望的 JSON 格式。

希望对您有所帮助,至少可以做出决定。

关于json - 如何将来自 REST-API 的 json 数据映射到 ember.js 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com