I am creating a nodejs api in window using express framework. I alerady used body-parser.json(). But req.body is coming empty in linux.The program is properly working in windows but in linux, req.body is empty and req.body.name key is undefined.
I already tried the following steps : - app.use(bodyParser.urlencoded({extended:true})) app.use(bodyParser.json())
const express = require('express'),
app = express(),
config = require('./config/configFile'),
route = require('./routes/userRoute'),
bodyParser = require('body-parser'),
mongoose = require('mongoose')
app.use(bodyParser.urlencoded({extended:true}))
app.use(bodyParser.json()) // with this you can send the data to api in json format
app.get('/',(req,res)=>{
res.send({
"message":"API started"
})
})
app.use('/api/',route)
mongoose.Promise = global.Promise
mongoose.connect(config.dbPath,{useNewUrlParser: true})
.then(()=>{
console.log("Db is connected")
}).catch(err=>{
console.log(err)
})
app.listen(config.serverPort,()=>{
console.log('server started')
})
const userModel = require('../models/userModel')
module.exports = {
"registerUser": (req,res)=>{
if(!req.body){
res.status(400).send({
"message": "User Detail Cannot be empty"
})
} else{
const user = new userModel({
name : req.body.name,
email : req.body.email,
password : req.body.password
})
user.save().then(data=>{
res.status(200).send(data)
}).catch(err=>{
res.status(500).send({
"message": err.message || "Something went wrong"
})
})
}
},
"login":(req,res)=>{
res.send({
"message":"This is an register method"
})
}
}
In your routes file, you can handle the POST request like,
var express = require('express');
var router = express.Router();
router.post('/', function(req, res, next) {
// req.body will contain the body data.
res.send('respond with a resource');
});
module.exports = router;
You need to register your route with express router. Your userRoute.js must look something like this.
var express = require('express');
var router = express.Router();
router.post("/registerUser", (req,res)=>{
if(!req.body){
res.status(400).send({
"message": "User Detail Cannot be empty"
})
} else{
const user = new userModel({
name : req.body.name,
email : req.body.email,
password : req.body.password
})
user.save().then(data=>{
res.status(200).send(data)
}).catch(err=>{
res.status(500).send({
"message": err.message || "Something went wrong"
})
})
res.send(req.body)
}
});
router.post("/login", (req,res)=>{
res.send({
"message":"This is an register method"
})
});
module.exports = router;
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.