Я всегда кодирую API-интерфейсы бэкэнда, и я не совсем понимаю, как экспресс делает ставку с моим кодом. Я знаю, что предлагают объекты запроса и ответа, я просто не понимаю, как они появляются.
Это упрощенный код, например:
exports.getBlurts = function() {
return function(req, res) {
// build query…
qry.exec(function(err, results) {
res.json(results);
}
});
}
}
Тогда я позвоню по одному из моих маршрутов:
app.get('/getblurts/, middleware.requireUser, routes.api.blurtapi.getBlurts());
Я понял, что функция вызывается при запросе маршрута. Хотя это очень абстрактно для меня, и я не понимаю, когда, где и как это относится к вводимым параметрам запроса.
Например. Я использую CMS, которая изменяет объект запроса, добавляя свойство пользователя, которое затем доступно глобально для всех запросов, сделанных AJAX или иным образом, что позволяет легко определить, вошел ли пользователь в систему.
Являются ли объекты req и res предварительно приготовленными экспрессом, но позволяют ли вам изменять их в соответствии с вашими потребностями? Когда они на самом деле «построены»