如何修复快递中的路由器帖子

时间:2019-06-13 03:44:00

标签: express router

这是一个应该发布和更新帖子的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);

2 个答案:

答案 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