ExpressJS промежуточное программное обеспечение не работает - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь реализовать промежуточное ПО в ExpressJS. Я сталкиваюсь с проблемой, промежуточное программное обеспечение работает только тогда, когда я добавляю его методом app.use (mymiddleware). Но я хочу достичь, чтобы отделить его от конкретных маршрутов.

это мой PRroute:

export = (app: any) => {

const endpoint = process.env.API_BASE + "prs";

app.post(endpoint, PR.create);

app.delete(endpoint + "/:id", PR.delete);

app.get(endpoint + "/:id", PR.getOne);

app.get(endpoint, PR.getAll);

app.put(endpoint + "/:id", PR.update);

};

И моя цель - работать так:

export = (app: any) => {

app.use(User.IsAdmin);

const endpoint = process.env.API_BASE + "prs";

app.post(endpoint, User.IsAdmin, PR.create);

app.delete(endpoint + "/:id", PR.delete);

app.get(endpoint + "/:id", PR.getOne);

app.get(endpoint, PR.getAll);

app.put(endpoint + "/:id", PR.update);

};

Но это не работает. потому что мой экспресс-файл выглядит так:

   const routesPR = require("../routes/PRroute")(app);

Это работа, если я добавляю в метод app.use (User.IsAdmin), но его метод вызывается перед каждым методом GET / POST.

Есть ли какое-либо решение для достижения этой цели без разделения на разные файлы общих и административных маршрутов?

Спасибо за ваш ответ.

...