Simple Ember Data Issue with Mirage (Error: Encountered a resource object with an undefined type )
Simple Ember Data Issue with Mirage (Error: Encountered a resource object with an undefined type )
我有一些使用 Ember.js 的经验,现在正在创建一个新项目,Mirage 暂时存根数据。
我正在逐步完成 Ember.js Tutorial,但在查询记录时一直出现此错误:
Encountered a resource object with an undefined type (resolved resource using DS.JSONAPISerializer)
我确实知道 已经被问到,但它不包括 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 会序列化它。
感谢任何有关我在这里遗漏的帮助。
我认为您遇到的问题是因为您的海市蜃楼数据未按照 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!干杯
我有一些使用 Ember.js 的经验,现在正在创建一个新项目,Mirage 暂时存根数据。
我正在逐步完成 Ember.js Tutorial,但在查询记录时一直出现此错误:
Encountered a resource object with an undefined type (resolved resource using DS.JSONAPISerializer)
我确实知道
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 会序列化它。
感谢任何有关我在这里遗漏的帮助。
我认为您遇到的问题是因为您的海市蜃楼数据未按照 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!干杯