Вопрос
У меня есть несколько вложенных маршрутизаторов, и я хотел бы получить доступ ко всей строке, которой соответствует путь запроса.С английским немного сложно сказать, так что взгляните на этот код:
const express = require('express')
const app = express()
const router1 = express.Router()
const router2 = express.Router()
// set up router 2 paths
router2.get('/path2/:param2', (req, res, next) => {
const someVar = req.something // the value I'll talk about in a second
return res.status(200).send({ someVar })
})
// set up router1 paths
router1.use('/path1/:param1', router2)
// connect the routers behind a base url
app.use('/api/v1', router1)
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
Если бы я должен был сделать запрос GET с:
curl -X GET http://localhost:3000/api/v1/path1/myparam1/path2/myparam2
Я хочу, чтобы он вернулсятакой объект:
{
"someVar": "/api/v1/path1/:param1/path2/:param2"
}
Context
У меня в приложении есть промежуточное ПО, которое регистрирует путь к кластеру эластичного поиска, и я бы хотел, чтобы кластер группировал пути по строке, которую онииспользуется для соответствия запросу, а не самому запросу.Таким образом, я могу получить визуальное представление о том, какие конечные точки запроса чаще всего поражаются.