【发布时间】:2020-08-29 07:29:40
【问题描述】:
当我从邮递员发出 Post API 请求时,它返回的 HTML 显示不能 POST,这意味着我的 API 有问题,但我认为我的 API 是正确的。
// @route POST api/posts/comment/:id
// @desc Comment on a post
// @access Private
router.post(
'/comment/:id',
[
auth,
checkObjectId('id'),
[check('text', 'Text is required').not().isEmpty()],
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findById(req.user.id).select('-password');
const post = await Post.findById(req.params.id);
const newComment = {
text: req.body.text,
name: user.name,
avatar: user.avatar,
user: req.user.id,
};
post.comments.unshift(newComment);
await post.save();
res.json(post.comments);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
}
);
server.js sn-p 我在其中附加了所有 API
/Define routes
app.use('/api/users', require('./routes/api/users'));
app.use('/api/profile', require('./routes/api/profile'));
app.use('/api/auth', require('./routes/api/auth'));
app.use('/api/posts', require('./routes/api/posts'));
【问题讨论】:
-
你的服务器在哪里 .js 你把你的路由器注入服务器了吗
-
是的,我将所有路由都注入到服务器
-
在你的 server.js 中使用
console.log( require('./routes/api/posts'))可以判断你是否正确导出