#javascript #node.js #express
#javascript #node.js #экспресс
Вопрос:
Я новичок в Express и пытаюсь определить параметр пути в get / post / put / delete.
Из официальной документации я получаю это описание:
»
Путь, для которого вызывается промежуточная функция; может быть любым из:
- Строка, представляющая путь.
- Шаблон пути.
- Шаблон регулярного выражения для сопоставления путей.
- Массив комбинаций любого из вышеперечисленных.
»
И буду рад дальнейшим объяснениям, потому что я пытаюсь найти пример, в котором путь, указанный для запросов post, является некоторым «/ mydir», хотя в проекте нет папки с именем «mydir», а также промежуточная функция объявляется прямо в запросах get / post / put / delete. Так что пока не имеет смысла в отношении этого официального описания.
Блок кода из проекта, который я читаю:
app.post("/quotes", (req, res) => {
quotesCollection
.insertOne(req.body)
.then((result) => res.redirect("/"))
.catch((error) => console.error(error));
});
Итак, в проекте нет папки «quotes», тогда на что ссылается параметр пути «/ quotes» (при необходимости я добавлю весь проект)?
Комментарии:
1. есть ли у вас код, который вы пытаетесь заставить его работать?
2. Добавлен некоторый код.
3. таким образом, «/ quotes» не ссылается на имя папки, это просто конечная точка, которую клиент использует, когда он / она хочет «ОПУБЛИКОВАТЬ цитату», то есть добавить цитату в базу данных. Конечной точкой также может быть «/somethingthat doesntmakesense» вместо «/ quotes», и это все равно будет работать
Ответ №1:
// A string representing a path.
app.get('/', function (req, res) {
res.send('hello world')
})
// A path pattern.
app.get('/ab?cd', function (req, res) {
res.send('ab?cd')
})
// A regular expression pattern to match paths.
app.get(/.*fly$/, function (req, res) {
res.send('/.*fly$/')
})
// Route parameters
app.get('/users/:userId/books/:bookId', function (req, res) {
res.send(req.params)
})
Пожалуйста, прочтите это для дальнейшего объяснения: части URL: краткое и приятное руководство