gpt4 book ai didi

javascript - Mirage 的简单 Ember 数据问题(错误 : Encountered a resource object with an undefined type )

转载 作者:行者123 更新时间:2023-12-03 00:50:27 26 4
gpt4 key购买 nike

我对 Ember.js 有一些经验,现在正在创建一个新项目,其中 Mirage现在 stub 数据。

我正在浏览 Ember.js Tutorial一步一步进行,但在查询记录时不断出现此错误:

遇到类型未定义的资源对象(使用 DS.JSONAPISerializer 解析资源)

我确实意识到 similar question已被问到,但它不包括 Mirage 插件,而且我还浏览了该问题中回答的所有技术。

<小时/>

mirage/config.js

export default function() {
this.namespace = '/api'

this.get('/todos', function() {
return {
data: [
{
text: 'Bring in garbage cans',
completed: false,
timesViewed: 3
},
{
text: 'Look at the plants',
completed: false,
timesViewed: 0
}
]
}
})
}
<小时/>

app/models/todo.js

import DS from 'ember-data';

export default DS.Model.extend({
text: DS.attr(),
completed: DS.attr(),
timesViewed: DS.attr()
});
<小时/>

app/routes/index.js

import Route from '@ember/routing/route';

export default Route.extend({
model() {
return this.store.findAll('todo')
}
});
<小时/>

app/adapters/application.js

import DS from 'ember-data';

export default DS.JSONAPIAdapter.extend({
namespace: 'api'
});
<小时/>

我一直在以各种方式格式化 Mirage 的响应,甚至在键上使用双引号,但这不是必需的,因为我相信 Mirage 会序列化它。

对于我在这里缺少的任何帮助,我们表示感谢。

最佳答案

我认为您面临的问题是由于您的 Mirage 数据未按照 JSON-API 规范进行格式化。

mirage/config.js =>

export default function() {
this.namespace = '/api'

this.get('/todos', function() {
return {
data: [
{
type: "todos",
id: 1,
attributes: {
text: "Bring in garbage cans",
completed: false,
timesViewed: 3
}
},
{
type: "todos",
id: 2,
attributes: {
text: "Look at the plants",
completed: false,
timesViewed: 0
}
}
]
}
});

}

尝试此代码并查看问题是否已解决。

如果您正在寻找一种根据 JSON-API 规范动态生成海市蜃楼数据的方法,请参阅此示例代码 -> sample code for dynamic mirage data !干杯🙌

关于javascript - Mirage 的简单 Ember 数据问题(错误 : Encountered a resource object with an undefined type ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069166/

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