首页 > 解决方案 > 如何使用 NodeJS MONGODB 修复“无法获取”

问题描述

我正在用邮递员测试一个简单的 Get api,但我得到“无法 GET”。

server.js(在根文件夹中)

```const express = require('express');
const mongoose = require('mongoose');


const items = require('./routes/api/items');




const app = express();

//body Parser middleware

app.use(express.json());

//Db config

const db = require('./config/keys').mongoURI;

//const db = "mongodb+srv://gkmm:123123123@cluster0-bo4ln.mongodb.net/test?retryWrites=true&w=majority"

//Connect to mongo

mongoose
    .connect(db, { useNewUrlParser:true, useUnifiedTopology: true})
    .then(() => console.log('MongoDB Connected...'))
    .catch(err => console.log(err));

    const port = process.env.PORT || 4000;

    app.listen(port, () => console.log(`Server started on port ${port}`));


//Use routes

app.use('./routes/api/items.js', items);```

路线(根文件夹)/api/items.js

```const express = require('express')
const router = express.Router();

//Item Model

const Item = require('../../models/Item')

//@route GET api/items
//@des Get AAll Items
//access public

router.get('/', (req, res) => {
    Item.find()
        .sort({ date: -1})
        .then(items => res.json(items));
});

module.exports = router; ```

在尝试测试我的 API 时遇到此错误,我检查了我的路径是否正确,我的数据库已连接。但我不知道为什么它返回 404 not found。

标签: node.jsmongodbmern

解决方案


查看您的代码后,@您要求应用使用您的路线的行

//Use routes
/* You are telling the route to go through e.g. <yoururl>/./routes/api/items.js/
   in order to reach your GET in items.js
*/
app.use('./routes/api/items.js', items);```

要解决此问题,您可以编辑您的 app.use 以

app.use('/test', items) // test is just an example, you can change it to other keywords

然后访问您的项目 GET 路线使用“/test/”


推荐阅读