Я использовал экспресс-генератор для создания базовой структуры экспресс-приложения.Экспресс-роутер. Не работает
У меня есть это в маршрутах/my.js:
router.use('/update', function(req, res, next) {
req.headers['content-type'] = 'application/json';
console.log('router use invoked');
next();
});
router.get('/update', function(req, res, next) {
console.log('=== GET /my/update', req.body);
});
router.post('/update', function(req, res, next) {
console.log('=== POST /my/update', req.body);
});
И в app.js я добавил:
var my = require('./routes/my');
app.use('/', routes);
app.use('/users', users);
app.use('/my', my);
Это работает отлично для ГЭТ, а маршрутизатор среднего изделия на самом деле work (console.log вызывается), но заголовки не устанавливаются в app/json (поскольку сообщение журнала в сообщении выводит тело на пустое место).
я могу решить эту проблему путем добавления этого перед любой другой средней посудой
app.use('/my/update', function(req, res, next) {
req.headers['content-type'] = 'application/json';
next()
});
И это работает. Я попытался переместить линию app.use('my', my);
перед любым другим промежуточным продуктом, но он полностью прекратил работу.
Что я могу сделать для того, чтобы отдавать приоритет моему router.use?
Я знаю, что настраиваю заголовок запроса, и это то, что я хочу. Я хочу установить тип контента по умолчанию для запроса. –
Вы не можете установить заголовок запроса, только получите. Если вы хотите установить заголовок, вы должны сделать это в объекте ответа. Запрос поступает, ответ отправляется. –
Afaik Я могу, средние товары вызывают до получения данных запроса. И, как я уже сказал, он работал с app.use, а не с маршрутизатором.использовать. –