我不明白为什么会这样:
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
。
我仍在努力实现原因。
答案 0 :(得分:2)
use
需要argument of the form function (req, res, next)
or an array of functions of this form。 restify.bodyParser()
是此表单的一系列函数。因此,您需要将req
,res
,next
传递给数组中的每个函数。根据您的目的,您可能希望返回一组中间件或按顺序调用中间件。
答案 1 :(得分:0)
如果您来这里寻找相同错误消息“ restify.bodyParser不是函数”的答案...
自从Restify版本5. *开始,restify的bodyParser函数应为:
restify.plugins.bodyParser()
答案 2 :(得分:0)
在当前版本的Restify中,使用插件restify.plugins.bodyParser()
。