Как изменить? Url = в узле структурированный маршрут - PullRequest
0 голосов
/ 12 февраля 2020

Итак, в настоящее время я делаю следующее.

http://example.com/podcast?url=https://storage.googleapis.com/radiomediapodcast/QWA/S01/QWAS1E1.mp3

Однако я хочу сделать следующее.

http://example.com/podcast/https://storage.googleapis.com/XXX/XXX/S01/QWAS1E1.mp3

Я понимаю, что router.get('/:url', (req, res) => { должен позволить мне отправить http://example.com/podcast/http

Я также понимаю, что

router.get('/:url*', (req, res) => {

также следует разрешить http://example.com/podcast/https: //storage.googleapis.com/XXX/XXX/S01/QWAS1E1.mp3`

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Определите свой маршрутизатор как

app.get('/podcast/:url(*)', (req, res) =>

:url(*) вместо :url*

Теперь вы можете получить свой URL через req.params.url.

Вы можете использовать по-вашему (:url*), но вам нужен какой-то трюк для получения ваших URL-данных, в этом случае req.params будет выглядеть как

{
  0: "//example.com/podcast/https://storage.googleapis.com/XXX/XXX/S01/QWAS1E1.mp3",
  url: "http:"
}

Тогда данные URL будут: const url = req.params.url + req.params[0];

0 голосов
/ 12 февраля 2020

* позволяет вызывать маршрут для вашего URL, а req.params позволит вам прочитать внутренний URL, переданный вместе с

Попробуйте следующий маршрут с http://example.com/podcast/https://storage.googleapis.com/XXX/XXX/S01/QWAS1E1.mp3

router.get('/prodcast/*', async (req, res, next) => {

    console.log(req.query.params);    //https://storage.googleapis.com/XXX/XXX/S01/QWAS1E1.mp3


    res.status(200).send('ok');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...