我有一个简单的(目前为止)ember-cli项目,现在只有一个带有FIXTURE数据的模型。我想使用实际的JSON文件或http-mock
来模拟API内容,这是以前的api-stub
的ember-cli版本41的名称。
我对这一切都很陌生,所以我真的不知道如何弄清楚我发现人们能够api-stub
工作的信息,而且它并没有。看起来ember-cli上的所有文档都已使用http-mock
信息进行了更新。
我做过ember generate http-mock project
,但我不确定该怎么做。
这是我当前的app / router.js:
Router.map(function() {
this.resource('projects', { path: '/' });
this.resource('project', {path: '/project/:project_id'}, function(){
this.resource('milestones');
this.resource('team');
this.resource('budget');
});
});
所以我有一个模板用于我的所有项目,并希望深入到一个,这需要能够与嵌套路由相关联。 我的理想就像GitHub API,你可以从用户深入到一个回购,再到那个回购的问题等等。
同样,我仍然在学习ember和ember-cli的方法,所以解释了为什么"以及"如何"非常感谢。
答案 0 :(得分:22)
我也是ember / ember-cli的新手,但我有一个简单的http-mock原型。生成http-mock项目后:
>ember g http-mock project
生成器应该创建一个服务器'你的项目中的文件夹与你的project.js模拟在'模拟'子目录。如果你打开那个文件(server / mocks / project.js),你应该看到这样的东西:
module.exports = function(app) {
var express = require('express');
var projectRouter = express.Router();
projectRouter.get('/', function(req, res) {
res.send({project:[]});
});
app.use('/api/project', projectRouter);
};
您希望使用您的api应该响应的json更新res.send(...)。例如:
res.send({project:{id: 1, number: 123, name: 'Fooshnickins'}});
您可以通过运行服务器向自己证明这一点:
>ember server
卷曲你的api(注意内容类型):
>curl -H "ContentType:application/json" http://localhost:4200/api/project
应该回复:
{project:{id: 1, number: 123, name: 'Fooshnickins'}}