api – 如何拦截node.js表达请求

在表达中,我已经定义了一些路线

app.post("/api/v1/client",Client.create);
app.get("/api/v1/client",Client.get);
...

我已经定义了如何处理客户端控制器中的请求.在我的控制器处理之前,有没有办法对请求进行一些预处理?我特别想检查API调用者是否有权访问路由,使用访问级别的概念.任何建议将不胜感激.

解决方法

你可以用几种方式来做所需的事情.

这将会在打到路由器之前使用一个中间件.确保路由器已添加到app.use()之后.中间件顺序很重要.

app.use(function(req,res,next) {
  // Put some preprocessing here.
  next();
});
app.use(app.router);

您也可以使用路由中间件.

var someFunction = function(req,next) {
  // Put the preprocessing here.
  next();
};
app.post("/api/v1/client",someFunction,Client.create);

这将为该路由执行预处理步骤.

注意:确保您的app.use()调用在路由定义之前.定义路由会自动将app.router添加到中间件链中,这可能会超出用户定义的中间件.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...