我已经定义了快递路线如下
app.use('/announcement/edit/:AnnouncementId',function(req,res){});
现在,我想在"/announcement/edit/:AnnouncementId"
调用此路由时从请求对象获取相同的内容。
当我致电http:// localhost:8000 / announcement / edit / 5a099a855f34fc3f2a7b2a9c并打印以下日志时
console.log(req.path)
但这给了我 "/announcement/edit/5a099a855f34fc3f2a7b2a9c"
我想同样/announcement/edit/:AnnouncementId
在req.path
或从请求对象或任何其他溶液的任何属性。
这是一个简单的解决方案,您需要做的是代替req.path直接检查最终控制器功能中的req.baseUrl和req.route.path
请注意,您不会在中间件中获得req.route.path。
因此,解决问题的方法是req.baseUrl + req.route.path
另一种方法是不用一个一个地定义路由,维护路由配置,动态创建您的应用程序路由,然后就可以访问路由配置,因此您可以从config中匹配的req.path和pattern中进行检查。
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句