КАК ИСПРАВИТЬ «НЕ МОЖЕТ ПОЛУЧИТЬ» ИСПОЛЬЗОВАТЬ NODEJS MONGODB - PullRequest
0 голосов
/ 06 марта 2020

Я тестирую простой Get API с почтальоном, но я получаю "не могу получить".

сервер. js (в папке root)

```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);```

маршруты (папка root) /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. Не найдено.

Ответы [ 2 ]

1 голос
/ 06 марта 2020

После просмотра вашего кода, @ строка, которую вы просите, чтобы приложение использовало ваши маршруты

//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 route используйте "/ test /"

0 голосов
/ 06 марта 2020

Не должно ли app.use('./routes/api/items.js', items); быть app.use('/api/items', items);?

...