Минимизация дублирующих маршрутов index.js - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь создать REST API с экспресс-маршрутизатором, который содержит вложенные суб-маршруты.Я смонтировал эти суб-маршруты в моем файле index.js.

Я определил его следующим образом:

// Mounted routes
app.use('/api/v1/Project', new ProjectRouter().routes);
app.use('/api/v1/Project/:projectId/Context', new ContextRouter().routes);
app.use('/api/v1/Project/:projectId/Context/:contextId/Question', new QuestionRouter().routes);
app.use('/api/v1/Project/:projectId/Context/:contextId/Question/:questionId/Answer', new AnswerRouter().routes);

Я хочу организовать свои маршруты, ориентируясь на функциональность и больше жаловаться наСтандарты REST.

В приведенном выше случае префикс маршрута /api/v1/Project/ повторяется снова и снова.

Существует ли лучшая практика для минимизацииизбыточные маршруты с префиксом?

1 Ответ

0 голосов
/ 22 ноября 2018

Я решил свою проблему, используя подход, подробно описанный в этой ссылке Вложенный маршрутизатор в Express.JS .

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

app.use('/:nestedId/nestedRoute', nestedRouter);

Кроме того, нам также необходимо объединить параметры родительского маршрута, мы можем сделать это, передав объект options в метод express.Router:

const router = express.Router({ mergeParams: true });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...