这是一个应该发布和更新帖子的API。我无法弄清楚代码中缺少什么
邮递员不断告诉我他们无法张贴并返回错误:
Posts.Js:
router.get('/', async (req, res) =>{
try{
const posts = await Post.find();
res.json (posts);
} catch (err) {
res.json ({ message: err });
}
});
//submit a posts
router.post('/', async (req, res) => {
const post = new Post({
title: req.body.title,
description: req.body.description
});
try {
const savedPost = await post.save();
res.json(savedPost);
} catch (err) {
res.json ({ message: err});
}
});
没有错误的路由器帖子
App js:
const express = require("express");
const app = express();
const mongoose = require ('mongoose');
const bodyParser = require ('body-parser');
const cors = require('cors');
require('dotenv/config');
app.use(cors());
app.use(bodyParser.json());
const postsRoute= require ( './routes/posts');
app.use('/posts', postsRoute);
答案 0 :(得分:1)
我的猜测是您尚未在app.js
文件中包含路由器。
检查路由器是否正确导出并包含在app.js
app.js
let postRouter = require('./path_to_router_dir/routerName');
app.use('/post', postRouter);
检查是否已完成此操作。请对下面的任何澄清或更改答案上下文随时发表评论。
还要从帖子末尾删除“ /”。 api端点必须为/post
而不是/post/
答案 1 :(得分:1)
您是否已导出路由器?
我认为您应该改用let
。