gpt4 book ai didi

api - 如何使用新的 ember-cli http-mock 进行 API 调用

转载 作者:行者123 更新时间:2023-12-03 23:26:15 24 4
gpt4 key购买 nike

我有一个简单的(到目前为止)ember-cli 项目,现在只有一个带有 FIXTURE 数据的模型。我想用实际的 JSON 文件或 http-mock 模拟 API 的东西。 ,这是 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');
});
});

所以我有一个用于我所有项目的模板,并且想要深入到一个需要能够与嵌套路由相关的模板。
我的理想应该是 GitHub API您可以在其中从用户向下钻取到存储库、该存储库上的问题等。

同样,我仍在学习 ember 和 ember-cli 的方法,因此非常感谢对“为什么”和“如何”的解释。

最佳答案

我对 ember/ember-cli 也很陌生,但我得到了一个简单的 http-mock 原型(prototype)。生成 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

curl 你的 api(注意内容类型):
>curl -H "ContentType:application/json" http://localhost:4200/api/project

应该回应:
{project:{id: 1, number: 123, name: 'Fooshnickins'}}

关于api - 如何使用新的 ember-cli http-mock 进行 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com