Невозможно получить параметр URL внутри узла controllerFunction js - PullRequest
0 голосов
/ 29 июня 2018

В моем index.js я дал маршрутизацию таким образом.

app.use('/users/:id/transactions',transactionRoutes)

Внутренняя транзакцияRoutes

router.get('/:txnHash',transactionController.getTransaction);

поэтому запрос к '/ users /: id / Transactions /: txnHash' придет по указанному выше маршруту.

Внутри транзакции Контроллер

module.exports.getTransaction = (req,res) => {
    let typeOfTransaction = req.query.type,
        userId            = req.params.id,
        txnHash           = req.params.txnHash;
}

Здесь я могу получить доступ к параметру txnHash, но параметр userId показывает неопределенное . Я думаю, это потому, что часть: id маршрута указана в index.js. Есть ли способ решить эту проблему без изменения маршрутов.

Запрос API

GET 'apiurl / users / 42342234 / Transactions / 234bh2428b354hjcs'

1 Ответ

0 голосов
/ 29 июня 2018

В вашем TransactionRoutes вам нужно добавить mergeParams, который сохранит значения req.params.

var router = express.Router({mergeParams: true});

Перед тобой,

router.get('/:txnHash',transactionController.getTransaction);

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...