Есть ли способ проверить post на 1 URL или другой в express?

#javascript #node.js #express

#javascript #node.js #экспресс

Вопрос:

В настоящее время я проксирую URL-адрес создания сеанса с помощью express таким образом:

 app.post('/sessions', (req, res) => {
  // Logic here
})
  

Логика, которая входит в этот прокси, также повторяется для моей /confirmation конечной точки, поэтому я бы не хотел ее переписывать, вместо этого я бы хотел, чтобы выше app.post(... также проверял мой второй URL, возможно ли это?

Ответ №1:

Вы можете сделать что-то подобное:

 function myLogic(req, res) {
  // Logic here
}

app.post('/sessions', myLogic);

app.post('/confirmation', myLogic);
  

Здесь приведены официальные примеры определений маршрутов.

Ответ №2:

Из документации для app.post

Путь, для которого вызывается функция промежуточного программного обеспечения; может быть любым из:

  • Строка, представляющая путь.
  • Шаблон пути.
  • Шаблон регулярного выражения для сопоставления путей.
  • Массив комбинаций любого из вышеперечисленных.

это означает, что вы действительно можете передавать массив путей

 app.post(['/sessions', '/confirmation'] , (req, res) => {
    // Logic here
});
  

Ответ №3:

тогда просто используйте обратный вызов:

 function handler(req, res) {
  // Logic
}

app.post('/sessions', handler);
app.post('/confirmation', handler);