【问题标题】:Unable to post json data using postman in nodejs server无法在 nodejs 服务器中使用 postman 发布 json 数据
【发布时间】:2020-07-17 06:15:11
【问题描述】:

我在这里做错了什么?我在某处看到 body-parser 现在内置在 express 中,我尝试过仍然是相同的结果。 app.js

const express = require("express");
const app = express();
const mongoose = require("mongoose");
require("dotenv/config");
const posts = require("./routes/posts");
const bodyParser = require("body-parser");

//middleware to use "/posts" whenever we go to posts
app.use("/posts", posts);
app.use(bodyParser.json()); //parsing json

//routes
app.get("/", (req, res) => {
  //handle root
  res.send("We are home");
});

//how do we start listening/connect to the server
mongoose.connect(
  process.env.DB_CONNECTION,
  { useNewUrlParser: true, useUnifiedTopology: true },
  () => console.log("connected to DB!")
);

app.listen(3000);

Post.js

const mongoose = require("mongoose");

const PostSchema = mongoose.Schema({
  title: {
    type: String,
    required: true,
  },
  description: {
    type: String,
    required: true,
  },
  date: {
    type: Date,
    default: Date.now(),
  },
});

module.exports = mongoose.model("Posts", PostSchema);

posts.js

const express = require("express");
let router = express.Router();
const Post = require("../models/Post");

//middleware
/*router.use(function(req, res, next){
    console.log(req.url, "@", Date.now());
    next();
})*/

router
  .route("/")
  .get((req, res, next) => {
    res.send("hi get /posts");
  })
  .post((req, res, next) => {
    console.log(req.body);
  });

module.exports = router;

终端总是显示它未定义。

这是邮递员的截图:

【问题讨论】:

    标签: node.js express postman


    【解决方案1】:

    是的,bodyParser 包含在当前版本的 expressjs 中,您可以这样应用它:

    app.use(express.json());
    

    在使用路由之前必须应用这个中间件。所以顺序一定是这样的:

    app.use(express.json()); //parsing json
    app.use("/posts", posts);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 2021-10-15
      • 1970-01-01
      相关资源
      最近更新 更多