"Error: socket hang up" error displayed when using Postman with ReactJS and MongooseDB
"Error: socket hang up" error displayed when using Postman with ReactJS and MongooseDB
我正在学习使用 MongooseDB、Express 等设置 React 应用程序的教程。我正在使用 Postman 进行 GET,POST。请参阅下面的代码(我已将数据库字符串中的密码加星号)。
当我发送 GET HTTP://localhost:8001 时,它显示了我期望的“hello world”。
当我发送 GET HTTP://localhost:8001/tinder/cards 它挂起并最终显示错误“错误:套接字挂起”。
当我发送 POST HTTP://localhost:8001/tinder/cards 它挂起并最终给出 500 内部服务器错误。
谁能指出调试的方向?我猜连接工作正常,当我发送 GET HTTP://localhost:8001 它显示“hello world”时。
再次感谢。
import express from 'express'
import mongoose from 'mongoose'
import Cards from './dbCards.js'
import Cors from 'cors'
// App Config
const app = express();
const port = process.env.PORT || 8001
const connection_url = `mongodb+srv://admin:*******@cluster0.iyemf.mongodb.net/tinder-db?retryWrites=true&w=majority`
// middlewares
app.use(express.json())
app.use(Cors())
// db config
mongoose.connect(connection_url, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology:true,
})
// api endpoints
app.get('/', (req, res) => res.status(200).send("hello world"));
app.post('/tinder/cards', (req, res) => {
const dbCard = req.body;
Cards.create(dbCard, (err, data) => {
if (err) {
res.status(500).send(err)
} else {
res.status(201).send(data)
}
})
})
app.get("/tinder/cards", (req, res) => {
Cards.find((err, data) => {
if (err) {
res.status(500).send(err)
} else {
res.status(200).send(data)
}
});
});
// listener
app.listen(port, () => console.log(`listening on localehost: ${port}`));
您还应该添加 urlencoded
中间件:
app.use(express.json());
app.use(express.urlencoded({
extended: true,
}));
我正在学习使用 MongooseDB、Express 等设置 React 应用程序的教程。我正在使用 Postman 进行 GET,POST。请参阅下面的代码(我已将数据库字符串中的密码加星号)。
当我发送 GET HTTP://localhost:8001 时,它显示了我期望的“hello world”。
当我发送 GET HTTP://localhost:8001/tinder/cards 它挂起并最终显示错误“错误:套接字挂起”。
当我发送 POST HTTP://localhost:8001/tinder/cards 它挂起并最终给出 500 内部服务器错误。
谁能指出调试的方向?我猜连接工作正常,当我发送 GET HTTP://localhost:8001 它显示“hello world”时。
再次感谢。
import express from 'express'
import mongoose from 'mongoose'
import Cards from './dbCards.js'
import Cors from 'cors'
// App Config
const app = express();
const port = process.env.PORT || 8001
const connection_url = `mongodb+srv://admin:*******@cluster0.iyemf.mongodb.net/tinder-db?retryWrites=true&w=majority`
// middlewares
app.use(express.json())
app.use(Cors())
// db config
mongoose.connect(connection_url, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology:true,
})
// api endpoints
app.get('/', (req, res) => res.status(200).send("hello world"));
app.post('/tinder/cards', (req, res) => {
const dbCard = req.body;
Cards.create(dbCard, (err, data) => {
if (err) {
res.status(500).send(err)
} else {
res.status(201).send(data)
}
})
})
app.get("/tinder/cards", (req, res) => {
Cards.find((err, data) => {
if (err) {
res.status(500).send(err)
} else {
res.status(200).send(data)
}
});
});
// listener
app.listen(port, () => console.log(`listening on localehost: ${port}`));
您还应该添加 urlencoded
中间件:
app.use(express.json());
app.use(express.urlencoded({
extended: true,
}));