所以我为用户添加了一个http-mock,它只在get路由上返回一个用户...
usersRouter.get('/:id', function(req, res) {
res.send({
"users": {
"id": 1,
"pin": 1234,
"first_name": "John",
"last_name": "Doe",
"email": "email@example.com",
"phone": 8436376960
}
});
});
在我的模型中,我有这个
import DS from 'ember-data';
export default DS.Model.extend({
pin: DS.attr('number'),
first_name: DS.attr('string'),
last_name: DS.attr('string'),
email: DS.attr('string'),
phone: DS.attr('number')
});
在我提交表单的行动中,我有这个来执行获取请求
return this.store.find('user',id);
当我点击提交按钮时,我在控制台中看到404错误,如此获取URL
GET http://localhost:4200/users/1 404 (Not Found)
我需要做任何其他事情来让这个模拟工作吗?我没有看到任何关于需要适配器或序列化器来使模拟工作的事情
答案 0 :(得分:3)
我注意到在ember-cli中生成一个http-mock时,快速应用程序代码状态
app.use('/api/users', usersRouter);
并且ember只是看/users/:id
所以我简单地生成了一个应用程序适配器,这里的休息很好,并设置了这样的名称空间
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
'namespace': 'api'
});
我决定采用这种方法,因为从app.use中移除了api url端点,因为未来的http-mocks将在他们的app.use中使用api端点,我认为最适合下一代的http-mocks只是创建一个适配器。