如何在节点路由器上管理空的获取参数?



我从Angular(13)应用向NodeJs服务器发出请求,如下所示:

getJobData(selectedCandle, bypassLoader = false) {
return this.http.get(`${this.endpoint}/getJobData/${selectedCandle}`, { context: bypassLoaderContext(bypassLoader) });
}

我用Express在NodeJs上拦截它们:

router.get('/getJobData/:selectedCandle(.{0,})', helpers.restAuthorize, async (req, res) => {
}

问题是:如果selectedCandle为空,它没有找到路由。只有当selectedCandle不是"时才有效。我该如何处理这两种情况?-即简单地传递空如果它是空或值如果它是有值?

你可以在参数后面加一个问号,使其成为可选的,即

router.get('/getJobData/:selectedCandle(.{0,})?', helpers.restAuthorize, async (req, res) => {
}

最新更新