【发布时间】:2019-01-20 01:09:11
【问题描述】:
我在 Express 4.x 中创建的应用程序有问题,我有一个身份验证中间件检查调用的路由,我想获取不带参数的路由...
例子:
我声明了这条路线:/authentication/newPassword/:token
所以我想知道 request.path 是否匹配这个特定的路由......
这是我的网址:/authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
所以我在寻找不同的变量:
req.path // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.originalUrl // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.url // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.pathname // undefined
我在谷歌上看,我看到有人回答 req.headers 的使用,用 .refers 知道路径,但我的快速应用程序是一个 API,它被调用其他 URL 上的其他应用程序,因此引荐来源网址与好的 url 不匹配
我使用这样的正则表达式找到了解决问题的方法:
const pathOk = /\/authenticate\/newPassword\/.+/;
if(pathOk.test(req.path)) { //Continue the middleware ...
所以我的问题很简单,在 Express 或 Node 中是否有类似的东西:
if (req.{something like path} == '/authentication/newPassword/:token') {
感谢您的回答。
【问题讨论】:
标签: javascript node.js express path routeparams