Как обрабатывать неверные маршруты из двух файлов - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь разрешить сценарий, в котором я хочу перехватить недопустимые маршруты и выбросить сообщение в Node.

У меня есть два файла, один файл пользователя и один файл задачи.Если я попадаю в конечную точку / маршрут, который не существует, я хочу вывести на экран сообщение о том, что это недопустимый маршрут.

Мой вопрос заключается в том, что я специально добавил фрагмент кода, который перехватывает эти недопустимые маршруты в обоих файлах, user.js и task.js, но когда я ищу действительный запрос во втором маршруте (task.js)) Я получаю неверную ошибку маршрута из первого файла (user.js).Вот код, который у меня есть в обоих файлах в конце каждого файла:

//handles invalid route requests (in user.js file)
router.get('*', (req, res) => {
    return res.status(404).send({error: 'Route not found'})
})

//handles invalid route requests (in task.js file)
router.all('*',(req, res) => {
    return res.status(404).json({error: 'Route not found'})
})

Является ли решение разместить этот фрагмент кода только в одном из файлов маршрута?Например, должен ли этот код присутствовать только в файле task.js, чтобы он мог проверять оба файла маршрутов до тех пор, пока не достигнет неправильного варианта маршрута?

1 Ответ

0 голосов
/ 08 июня 2019

Итак, вы используете express-js ... Я использовал его при генерации в seleton с помощью модуля express-skeleton ...

Как вы можете видеть на странице github, архитектура файла app.js заключается в том, чтобы вызывать всю вашу маршрутизацию и после ошибок маршруты. Пожалуйста, посмотрите здесь

В конце вашего app.js:

app.use(function(req, res, next) {
  next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};
  // render the error page
  res.status(err.status || 500);
  res.render('error');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...