Стек MERN, REST api Почтальон, Не удается получить / - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь создать простой REST API, используя Postman и стек MERN

У меня есть следующие файлы

server.js, Item.js, items.js, keys.js

server.js

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');

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

const app = express();

// BodyParser Middleware
app.use(bodyParser.json());

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

//Connect to Mongo
mongoose
    .connect(db)
    .then(() => console.log('MongoDB Connected'))
    .catch(err => console.log(err));


app.use('./api/items', items);

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

app.listen(port, () => console.log('server started'));

Item.js

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

// Create Schema
const ItemSchema = new Schema({
    name:{
        type: String,
        required: true
    },
    date: {
        type: Date,
        default: Date.now
    }
});

module.exports = Item = mongoose.model('item', ItemSchema);

items.js

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

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

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

module.exports = router;

keys.js

module.exports = {
    mongoURI: 'mongodb://tset:tset123@ds241012.mlab.com:41012/mern_shopping'
}   

Сервер подключается и подключается к БД - я получаю журналы консоли.

В почтальоне, если я попробую GET и URL http://localhost:5000, я получу

Cannot GET /

Если я попытаюсь http://localhost:5000/api/items, я получу

Cannot GET /api/items

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

и для http://localhost:5000 - корень, который вы должны определить с помощью

app.get('/', function (req, res) {})
0 голосов
/ 04 сентября 2018

Изменить это

app.use('./api/items', items);

до

app.use('/api/items', items);
...