red*_*r13 13 api ember.js ember-data ember-cli
我有一个简单的(迄今为止)ember-cli项目,现在只有一个带有FIXTURE数据的模型.我想模拟API的东西,无论是使用实际的JSON文件,还是使用http-mock,这是以前的ember-cli版本41的名称api-stub.
我对这一切都很陌生,所以我真的不知道如何找到人们能够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');
});
});
Run Code Online (Sandbox Code Playgroud)
所以我有一个模板用于我的所有项目,并希望深入到一个,这需要能够与嵌套路由相关联.我的理想就像GitHub API,你可以从用户向下钻取到repo,在repo上发布问题等等.
再说一次,我还在学习ember和ember-cli的方法,所以对"为什么"以及"如何"的解释都非常受欢迎.
小智 22
我也是ember/ember-cli的新手,但我得到了一个简单的http-mock原型.生成http-mock项目后:
>ember g http-mock project
Run Code Online (Sandbox Code Playgroud)
生成器应该在项目中创建一个'server'文件夹,并在'mocks'子目录中使用project.js mock.如果你打开那个文件(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);
};
Run Code Online (Sandbox Code Playgroud)
你想用你的api应该响应的json来更新res.send(...).例如:
res.send({project:{id: 1, number: 123, name: 'Fooshnickins'}});
Run Code Online (Sandbox Code Playgroud)
您可以通过运行服务器向自己证明这一点:
>ember server
Run Code Online (Sandbox Code Playgroud)
并卷曲你的api(注意内容类型):
>curl -H "ContentType:application/json" http://localhost:4200/api/project
Run Code Online (Sandbox Code Playgroud)
应回复:
{project:{id: 1, number: 123, name: 'Fooshnickins'}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10873 次 |
| 最近记录: |