我使用Mean.js创建博客,我用npm安装它,我创建了crud模块评论来评论每篇文章,我用article
id保存了一些评论作为参考。我在服务器上创建api路由。
// Comments Routes
app.route('/api/comments/:articleId').all()
.get(comments.listbyArticle);
服务器cotroller上的
exports.listbyArticle = function(req, res) {
Comment.find( {article : req.articleId }).sort('-created').populate('user', 'displayName').exec(function(err, comments) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(comments);
}
});
};
但导航到此路线时
http://localhost:3000/api/comments/57550c21612bc90478333017
它会回复所有评论,除非是本文ID,如果我硬编码('57550c21612bc90478333017'
)文章ID而不是req.articleId
。然后回复会向我显示正确的评论。
答案 0 :(得分:0)
您应该使用 req.params
访问网址中的articleId:
exports.listbyArticle = function(req, res) {
var articleId = req.params.articleId;
Comment.find( {article: articleId }).sort('-created')
.populate('user', 'displayName')
.exec(function(err, comments) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(comments);
}
});
};