刚迁移到ember-cli 0.1.12,现在http-mock对我不起作用。
它可以很好地处理get请求。request.query返回所有查询参数。
然而,对于POST请求,我无法获得请求参数,因为request.body是未定义的。
有人能告诉我如何访问ember http-mock中的请求体吗?
发布于 2015-02-05 16:11:29
我打开了一个公关,里面有你的案子的一些说明。https://github.com/ember-cli/ember-cli/pull/3211
发布于 2015-06-18 17:36:46
我也有同样的问题,req.body是未定义的。以下是我遵循的步骤:
1)安装body-parser
npm install body-parser2)您需要为每个需要主体解析器的模拟文件指定。例如,我的/server/mocks/addresses.js现在是:
module.exports = function(app) {
var express = require('express');
var addressesRouter = express.Router();
...
addressesRouter.post('/', function (req, res) {
var address = req.body;
address.id = addresses.length + 1;
addresses.push(address);
res.status(201).send({
'address': address
});
});
...
app.use('/api/addresses', require('body-parser').json(), addressesRouter);因此,基本上您需要在最终的app.use中添加require('body-parser').json()的第二个(中间)参数。
req.body现在应该可以工作了,不再是未定义的。
https://stackoverflow.com/questions/28328409
复制相似问题