Postman POST请求卡在"sending request"上(MongoDB和Node.js)



我一直在尝试使用node.js和MongoDB进行CRUD操作,但在Postman上发送POST请求后,它似乎被困在了"发送请求";。

对于poster请求,我用于发出POST请求的url是:http://localhost:3000/api/employee/store

在正文部分,我选择了原始->JSON格式

{
"name" : "testname",
"designation" : "Software Engineer",
"email" : "test@gmail.com",
"phone" : "1233123",
"age" : 320
}

以下是我的代码:

server.js

const express = require('express');
const mongoose = require('mongoose'); // Working with mongoDB Db
const morgan = require('morgan'); 
const bodyParser = require('body-parser'); //Get submitted input 
const app = express();

const EmployeeRoute = require('./routes/employee')
mongoose.connect('mongodb://localhost:27017/testdb',{useNewUrlParser : true, useUnifiedTopology:true})
const db = mongoose.connection

db.on('error', (err) =>{
console.log(err);
})
db.once('open',()=>{
console.log("Database Connection Established!");
})

app.use(morgan('dev'));
app.use(express.urlencoded({
extended : true
}));
app.use(express.json);
const PORT = process.env.PORT || 3000;
app.listen(PORT, ()=>{
console.log('Server is running on port ' + PORT);
});
app.use('/api/employee', EmployeeRoute)

EmployeeController.js

const Employee = require('../models/Employee')
//Show the list of Employees
const index = (req,res,next)=>{
Employee.find()
.then(response =>{
res.json({
response
})
})
.catch(error =>{
res.json({
message : 'An error has occured!'
})
})
}
//Show single employee
const show = (req,res,next)=>{
let employeeID = req.body.employeeID
Employee.findById(employeeID)
.then(response =>{
res.json({
response
})
})
.catch(error=>{
res.json({
message : "An error has occured!"
})
})
}

//Function to store employee details
const store = (req,res,next) =>{
let employee = new Employee({
name : req.body.name,
designation: req.body.designation,
email : req.body.email,
phone : req.body.phone,
age : req.body.age
})
employee.save()
.then(response=>{
res.json({
message : "Employee added sucessfully!"
})
})
.catch(error=>{
res.json({
message : "An error has occured!"
})
})
}
//Function to update employee
const update = (req,res,next) => { 
let employeeID = req.body.employeeID
let updatedData = {
name : req.body.name,
designation: req.body.designation,
email : req.body.email,
phone : req.body.phone,
age : req.body.age
}
Employee.findByIdAndUpdate(employeeID, {$set : updatedData})
.then(() => {
res.json({
message : "Employee updated sucessfully!"
})
})
.catch(error=>{
res.json({
message : "An error has occured!"
})
})
}
//Delete an Employee
const destroy= (req,res,next) =>{
let employeeID = req.body.employeeID
Employee.findByIdAndRemove(employeeID)
.then(() =>{
req.json({
message : 'Employee successfully deleted!'
})
})
.catch(error =>{
req.json({
message : "An error has occured!"
})
})
}
module.exports = {
index, show, store, update, destroy
}

employee.js(模型(

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const employeeSchema = new Schema({
name: {
type : String
},
designation: {
type: String 
},
email: {
type: String
},
phone: {
type: String
},
age: {
type: Number
}
}, {timestamps : true})
const Employee = mongoose.model('Employee', employeeSchema)
module.exports = Employee

employee.js(路线(

const express = require('express')
const router = express.Router()
const EmployeeController = require('../controllers/EmployeeController')
router.get('/', EmployeeController.index)
router.post('/show', EmployeeController.show)
router.post('/store', EmployeeController.store)
router.post('/update', EmployeeController.update)
router.post('/delete', EmployeeController.destroy)
module.exports = router

你已经接近了,这一行只有一个错误:

app.use(express.json);

应为:app.use(express.json());

文档页面,如果您需要:http://expressjs.com/en/api.html#express.json

最新更新