ember-cli http-mock没有返回我的应用程序

时间:2014-12-24 15:12:52

标签: ember.js model ember-cli

所以我为用户添加了一个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)

我需要做任何其他事情来让这个模拟工作吗?我没有看到任何关于需要适配器或序列化器来使模拟工作的事情

1 个答案:

答案 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只是创建一个适配器。