json 我试图在request中发送的正文不符合request

bgibtngc  于 2023-07-01  发布在  其他
关注(0)|答案(2)|浏览(93)

基本上,我使用Thunder客户端发送请求,我使用post请求。我面临的失败是,每当我发送请求并发送主体内容时,并且已经在头部中使用了内容类型application/json,并且当我在请求部分尝试获取req.body时,它返回undefined。我不知道为什么会出现这个错误。有人能帮帮忙吗?

const express = require('express');
const router = express.Router();
const { body, validationResult } = require('express-validator');
const Admin = require('../Models/Admin');

//Route 1 : Create an ADMIN Account
router.post('/createadmin', async (req, res)=>{
    
    console.log(req.body)
    res.json(req.body)
       
})

module.exports = router
8nuwlpux

8nuwlpux1#

这有点晚了,所以希望你现在已经弄明白了,但是你可能需要安装然后使用body parser。所以npm i body-parser ...那么你可以根据需要在这里演示使用它:

cngwdvgl

cngwdvgl2#

在这里,您只需要安装并使用正文解析器。因为要发送jason你需要一种middleware,也就是body解析器,尝试使用以下内容

//middelevare to pass jason body and put it before routes in your index.js file
app.use(express.json());

下面是五月smaple代码,所以尝试使用这样的

const connectToMongo = require('./db');
connectToMongo();

const express = require('express');
const app = express();
const port = 3000;

// middelvare to send fake request using thunder client 
app.use(express.json());

//availabel routes
app.use('/app/auth', require('./routes/auth'));
app.use('/app/notes', require('./routes/notes'));
app.get('/', (req,res)=>{
    res.send("hello world");
})

app.listen(port, ()=>{
    console.log("Successfully listening on port no : ", port);
})

我希望它能帮助你。

相关问题