Узел + Экспресс динамическая маршрутизация - PullRequest
0 голосов
/ 06 марта 2019

Я создаю мультитенетное приложение, т.е. Мои клиенты имеют свой собственный набор пользователей.

Это школьное приложение. IAM использует одну базу данных для всех школ для облегчения обслуживания.

Мои маршруты будут такими

/ API / некоторый школьный код / ​​пользователи

/ API / некоторый другой школьный код / ​​пользователи

/ API / некоторый другой школьный код / ​​пользователи

Моя проблема в том, что здесь школьный код является динамическим или специфичным для пользователя. Что мне нужно использовать, чтобы отфильтровать данные из базы данных.

Так что каждая моя конечная точка должна быть в форме / API /: schoolcode / пользователей И получите школьный код через req.params.schoolcode

Вот проблема в том, что мне нужно добавить: школьный код в каждом начальном маршруте. Или любой промежуточный подход

Есть ли альтернативный способ? Лучшие решения, пожалуйста

1 Ответ

1 голос
/ 06 марта 2019

Вы можете фрагментировать свой код и вызывать обработчики маршрутов в файле основного узла.

app.use('/api/:schoolcode([0-9]+)', schoolRouter)

Я добавляю некоторые регулярные выражения, которые позволяют проверить, что ваш путь только числовой, но вы можете изменить все, что вам нужно.И ваш школьный маршрут может быть таким:

 app.route('/users')
   .get((req, res) => {/** do something
 **/})
   .post((req, res) => { /* do something */})
...