Ответ 1
Это распространенное промежуточное ПО.
В этом случае, да, он отправит /todos/anything
, а затем req.params.id
будет установлен на 'anything'
Реальные простые ребята: я вижу, что многие фрагменты книг/фрагментов кода используют следующий синтаксис в маршрутизаторе:
app.use('/todos/:id', function (req, res, next) {
console.log('Request Type:', req.method);
next();
});
Я не уверен, как интерпретировать маршрут здесь... будет ли он маршрутизировать '/todos/anything'? а затем захватить "что угодно", а лечение - с переменным идентификатором? как использовать эту переменную? Я уверен, что это быстрый ответ, я просто не видел этот синтаксис раньше.
Это распространенное промежуточное ПО.
В этом случае, да, он отправит /todos/anything
, а затем req.params.id
будет установлен на 'anything'
В вашем коде, предназначенном для промежуточного программного обеспечения Express Framework, если вы хотите получить какой-либо идентификатор в коде сервера, используя этот маршрут, вы получите этот идентификатор с помощью req.params.id
.
app.use('/todos/:id', function (req, res, next) {
console.log('Request Id:', req.params.id);
next();
});
Да, в вашем примере вы получите req.params.id
значение "ничего"
Route path: /student/:studentID/books/:bookId
Request URL: http://localhost:xxxx/student/34/books/2424
req.params: { "studentID": "34", "bookId": "2424" }
app.get('/student/:studentID/books/:bookId', function (req, res) {
res.send(req.params);
});
Аналогично для вашего кода:
Route path: /todos/:id
Request URL: http://localhost:xxxx/todos/36
req.params: { "id": "36" }
app.use('/todos/:id', function (req, res, next) {
console.log('Request Id:', req.params.id);
next();
});