Javascript Express向邮递员请求返回一个空的req.body

Javascript Express向邮递员请求返回一个空的req.body,javascript,node.js,mongodb,express,postman,Javascript,Node.js,Mongodb,Express,Postman,我正在尝试设置一个简单的CRUD应用程序。我已经在express中设置了删除路由,我正在尝试使用Postman来点击它 当我在请求上记录req.body时,我得到一个空对象 路线: var router = express.Router(); if (process.env.NODE_ENV !== 'production') { require('dotenv').config(); }; username = process.env.MONGODB_USERNAME; passw

我正在尝试设置一个简单的CRUD应用程序。我已经在express中设置了删除路由,我正在尝试使用Postman来点击它

当我在请求上记录req.body时,我得到一个空对象

路线:

var router = express.Router();

if (process.env.NODE_ENV !== 'production') {
    require('dotenv').config();
};

username = process.env.MONGODB_USERNAME;
password = process.env.MONGODB_PASSWORD;

const MongoClient = require('mongodb').MongoClient;
const connectionString = `mongodb://${username}:${password}@localhost:27017`

/* DELETE post delete. */
router.delete('/', (req, res) => {
    const postId = req.body.postId;
    console.log(req.body);
    console.log(postId);
    MongoClient.connect(connectionString, {useUnifiedTopology: true})
    .then(client => {
        console.log("Delete request to database!");
        const db = client.db("blog");
        const postsCollection = db.collection('blogPosts');
        postsCollection.findOneAndDelete({"_id": postId})
        .then(deletedDocument => {
            if(deletedDocument) {
              console.log(`Successfully deleted document that had the form: ${deletedDocument}.`)
              res.send(`Successfully deleted document that had the form: ${deletedDocument}.`);
            } else {
              console.log("No document matches the provided query.")
              res.send("No document matches the provided query.");
            }
            return deletedDocument
          })
          .catch(err => console.error(`Failed to find and delete document: ${err}`));
    })
    .catch(error => console.error(error));
});

module.exports = router;
邮递员要求:

Express app.js:

var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var postRequestRouter = require('./routes/postrequest');
// var adminRouter = require('./routes/admin');
var postDeleteRouter = require('./routes/postdelete');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/postrequest', postRequestRouter);
// app.use('/admin', adminRouter);
app.use('/postdelete', postDeleteRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;
生成的控制台日志:

{}
undefined
Delete request to database!
Successfully deleted document that had the form: [object Object].
DELETE /postdelete 200 43.848 ms - 7
我知道对MongoDB本身的请求可能会失败,因为它的格式不正确,但现在我只是想了解req.body为什么是空的


任何帮助都将不胜感激

发布此问题后不久,我将其与编程冲突联系起来。一个用户通过“nnari”很快发现了问题所在

事实证明,我只需要将Postman中的下拉列表从“Text”更改为“Json”