由于某种原因,restify的身体解析器不起作用

时间:2016-11-20 03:25:39

标签: node.js webserver middleware restify body-parser

我不明白为什么会这样:

instance.use(restify.bodyParser());

但这不起作用:

instance.use((req, res, next) => {
  restify.bodyParser();
  next();
});

UPD:我试过restify.bodyParser()(req, res, next)。事实上,由于某些原因它不起作用。

restify.bodyParser()导出函数数组:[read,parseBody]。因此,使用restify.bodyParser()(...)会抛出错误... is not a function

我仍在努力实现原因。

3 个答案:

答案 0 :(得分:2)

use需要argument of the form function (req, res, next) or an array of functions of this formrestify.bodyParser()是此表单的一系列函数。因此,您需要将reqresnext传递给数组中的每个函数。根据您的目的,您可能希望返回一组中间件或按顺序调用中间件。

答案 1 :(得分:0)

如果您来这里寻找相同错误消息“ restify.bodyParser不是函数”的答案...

自从Restify版本5. *开始,restify的bodyParser函数应为:

restify.plugins.bodyParser()

https://github.com/restify/node-restify/issues/1414

答案 2 :(得分:0)

在当前版本的Restify中,使用插件restify.plugins.bodyParser()