1

我的应用程序在带有 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 错误。谁能建议我怎么做。

4

1 回答 1

1

您必须检查代码中的 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

于 2020-04-08T10:31:32.623 回答