使用 Express 时,我可以在路由字符串中使用占位符定义路由,例如:
app.get("/users/:user_id/photos", function(req,res){<blah>});
然后在我的处理程序中,我可以用户req.params["user_id"]
获取 URL 中的任何内容并在我的请求中使用它。
中间件可以安装在某些路径上,这样只有匹配该路径的请求才会使用中间件。我可以在中间件的挂载路径中使用占位符吗?例如,我可以做类似的事情:
app.use("/users/:user_id/photos", <middleware>);
然后在中间件内部有一些方法可以访问映射到的段:user_id
是什么?
编辑1:
我知道我可以将中间件直接放在路由声明中,à la:
app.get("/users/:user_id/photos", <middleware>, function(req,res){<blah>});
随着应用程序的发展,不难想象这将如何失控。