Node.js 对端点的请求不返回任何内容

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

我试图让一个简单的节点、express、mongodb示例正常工作。我向邮递员提出以下要求,但无法得到任何回报

获取
http://localhost:5000/test

POST
http://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())谢谢你的建议:)