简体   繁体   中英

req.body is undefined in REST API using Express JS,

I am trying to create a REST API using Express JS. console.log(req.body) gives undefined as output,

this is my code in routes.js page

const express = require('express');
const router = express.Router();


router.post('/post',async (req,res) => {
    console.log("inside post router");
    console.log(req.body);
    const data = new Model({
        name: req.body.name,
        age: req.body.age
    })
    try {
       const dataToSave = await data.save();
       res.status(200).json(dataToSave)
    }
    catch(error) {
       res.status(400).json({message:error.message})
    }
})

This is the code in index.js file

const express = require('express');
const mongoose = require('mongoose');
const routes = require('./Routes/routes');
const app = express();


app.use('/api',routes);

User middlewares ,for parsing the post body in your index.js file

const express = require('express');
const mongoose = require('mongoose');
const routes = require('./Routes/routes');
const app = express();

app.use(express.json()) ; //parsing application/json
app.use(express.urlencoded({extended: false}) ;



app.use('/api',routes);

Make sure to use them,before you configure your routes See reference

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM