Параметры маршрутов в Express

Пусть у нас есть следующий набор маршрутов:

app.get('/test/1/', function(req, res) { res.send('1'); }); app.get('/test/2/', function(req, res) { res.send('2'); }); app.get('/test/3/', function(req, res) { res.send('3'); });

Несложно заметить, что эти маршруты строятся по одному шаблону: сначала идет /test/, а потом некоторое число. Express позволяет группировать такие маршруты с помощью параметров.

Параметры позволяют положить часть адреса в переменную. В этом случае получится, что наш маршрут будет обрабатывать не один адрес, а целую группу адресов. К примеру, укажем параметр с именем num:

app.get('/test/:num/', function(req, res) { });

Переданные параметры содержатся в свойстве params объекта запроса. Давайте выведем в консоль значение нашего параметра:

app.get('/test/:num/', function(req, res) { console.log(req.params.num); });

А теперь давайте отправим полученный параметр назад в браузер:

app.get('/test/:num/', function(req, res) { res.send(req.params.num); });

Передайте в маршруте какое-нибудь число. В качестве ответа верните в браузер квадрат этого числа.

Несколько параметров маршрута

Можно добавить в маршрут не один, а несколько параметров:

app.get('/test/:num1/:num2/', function(req, res) { res.send(req.params.num1 + ' ' + req.params.num2); });

Передайте в маршруте два числа. В качестве ответа верните в браузер сумму этих чисел.

Передайте в маршруте три числа. В качестве ответа верните в браузер сумму этих чисел.