创建更新请求对象的Express参数中间件
Creating Express param middleware that updates the request object
我正在尝试更新请求。之前的会话由另一个名为read的函数处理。我知道中间件在读取之前被调用,但是当我记录请求时。会话对象,它不反映中间件中所做的更新。
/**
* Conversation middleware
*/
exports.conversationByID = function(req, res, next, id) {
if (!mongoose.Types.ObjectId.isValid(id)) {
return res.status(400).send({
message: 'Conversation is invalid'
});
}
Conversation.findById(id).populate('user', 'displayName').populate('readers', 'displayName').exec(function(err, conversation) {
if (err) return next(err);
if (!conversation) {
return res.status(404).send({
message: 'Conversation not available'
});
}
req.conversation = conversation;
next();
});
};
您的中间件回调中的id
参数来自哪里?如果它是一个url参数(例如/conversations/:id
),它应该是req.params.id
。
相关文章:
- 使用Express捕获参数
- 使用express.具有多个url和可选参数的Router()
- 在express应用程序中,请求参数两次附加到URL
- express/如何将路由参数传递到其他文件
- 有没有办法在express nodejs中将参数传递给路由器
- 如何在Express中处理GET参数
- 当 Express 发送带有参数的静态 html 文件时,路径不正确
- 删除错误.MongooDB + Express.传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符
- 如何在 express.js 中获取请求查询参数的数量
- 如何在 Angular JS、Node JS、Express 中获取 URL 参数
- 当需要(“http”)时发生了什么.Server() 以 Express 应用程序作为其参数进行评估
- Express v4:如何在参数中间件之前运行特定于路由的中间件
- 有没有一种方法可以在express.js中的url路由中执行动态键/值参数
- Express:获取完整的路线参数
- 如何使用express JS以特定方式从URL中读取参数
- 处理& lt; select>在node.js/express中的Form参数
- Node.js Express,路由器,最优参数作为扩展
- Express.js请求参数未定义
- Express.js中路由中的命名参数
- 创建更新请求对象的Express参数中间件