Node.js 对端点的请求不返回任何内容
我试图让一个简单的节点、express、mongodb示例正常工作。我向邮递员提出以下要求,但无法得到任何回报 获取Node.js 对端点的请求不返回任何内容,node.js,Node.js,我试图让一个简单的节点、express、mongodb示例正常工作。我向邮递员提出以下要求,但无法得到任何回报 获取http://localhost:5000/test POSThttp://localhost:5000/test?testMe=Tested! 我还在开发中使用nodemon。在控制台中返回以下内容 $ nodemon server [nodemon] 1.19.4 [nodemon] to restart at any time, enter `rs` [nodemon] wa
http://localhost:5000/test
POSThttp://localhost:5000/test?testMe=Tested!代码>
我还在开发中使用nodemon。在控制台中返回以下内容
$ nodemon server
[nodemon] 1.19.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js`
Server is running on 5000
MongoDB database connection established successfully.
当发出get和post请求时,除了上面的内容之外,控制台上不会记录任何内容
我有以下目录结构
models\test.model.js
routes\test.js
.env
server.js
test.model.js
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const testSchema = new Schema({
testMe: [String],
});
const Test = mongoose.model('Test', testSchema);
module.exports = Test;
routes\test.js
const router = require('express').Router();
let Test = require('../models/test.model');
// endpoint localhost:5000/test
router.route('/').get((req, res) => {
console.log('GET:', res);
Test.find()
.then(dbData => res.json(dbData))
.catch(err => res.status(400).json('Error: ', err));
});
// endpoint localhost:5000/test
router.route('/').post((req, res) => {
const testMe = req.body.testMe;
console.log('testMe', testMe);
const newTest = new Test({
testMe
});
newTest.save()
.then(test => {
res.json(test);
console.log('save', test, res);
})
.catch(err => res.status(400).json('Error: ', err));
});
module.exports = router;
server.js
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
require('dotenv').config();
const app = express();
const port = process.env.PORT || 5000;
app.use(cors());
app.use(express.json);
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, { useNewUrlParser: true, useCreateIndex: true, useUnifiedTopology: true });
const connection = mongoose.connection;
connection.once('open', () => {
console.log("MongoDB database connection established successfully.")
});
const practiceRouter = require('./routes/practice'); // locations of routes file
app.use('/practice', practiceRouter); // directs the url path to the routes file
const testRouter = require('./routes/test');
app.use('/test', testRouter);
app.listen(port, () => console.log(`Server is running on ${port}`));
有人知道发生了什么事吗?谢谢
- 是否缺少在应用程序中导入测试路由
- 确保mongodb可以顺利连接
- 您需要更新在测试中注册的路由,如下所示
get('/',(req,res,next)=>{})
router.post('/',(req,res,next)=>{})
试试这个
router.get('/', function (req, res) {
Test.find()
.then(dbData => res.json(dbData))
.catch(err => res.status(400).json('Error: ', err));
});
我什么也得不到。我刚刚意识到,这可能与我的设置有关。我开始创建react应用程序,然后尝试集成数据库和路由。请删除//endpoint localhost:5000/使用post和tryI制作的index.js进行测试,并设法获得一个简单的app.get('/',(req,res)=>res.send('Hello World!')
working。我无法在server.js中实现同样的功能,所以我想server.js可能有问题。好吧,我找到了。哈哈,我在这个问题上浪费了这么多时间,没有语法错误或警告。罪魁祸首是app.use(express.json())代码>谢谢你的建议:)