我的应用程序位于带有express的nodejs中。
我正在尝试构建一个API,它同时具有路由参数和查询参数
以下是我尝试过的
using **=**
app.get('/:accountId/accounts/password/update?uniqueCode={uniqueCode}', async function(req, res) {
//my code here
}
和
app.get('/:accountId/accounts/password/update?uniqueCode/:uniqueCode', async function(req, res) {
//my code here
}
但当我从我的邮递员那里收到这个时,就像下面一样
http://localhost:5000/722/account/password/update?uniqueCode={dfgsfksjfksdhfksj}
在我尝试过的两种方式中,我都收到了来自express的NOTFOUND错误。有人能建议我怎么做吗?
您必须检查代码中的queryParams:
app.get('/:accountId/accounts/password/update', async function(req, res, next) {
const accountId = req.params.accoundId;
const uniqueCode = req.query.uniqueCode;
...
if (/* checkuniqueCode is not valid */) {
return next()
}
}
这是医生:https://expressjs.com/fr/api.html#req.query