【发布时间】:2019-02-24 10:53:12
【问题描述】:
我正在努力在 express js 中制作 REST API,但收到错误“无法获取 /api/bears”。 这是我的代码
server.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var Bear = require('./app/models/bear');
mongoose.connect('mongodb://localhost/api', { useNewUrlParser: true }); // connect to our database
app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json());
var port = process.env.PORT || 3000;
//routes for api
var router = express.Router();
router.use(function(req, res, next) {
console.log('Something is happening.');
next();
});
router.get('/',function(req,res){
res.json({message: "Welcome to my Api"});
});
router.route('/bears')
.post(function(req,res){
var bear = new Bear();
bear.name = req.body.name;
bear.save(function(err){
if(err)
{
res.send(err);
}
res.json({message: 'bear created!'});
});
});
app.use('/api', router);
app.listen(port);
console.log("Magic happens on port" + port);
app/models/bear.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BearSchema = new Schema({
name: String
});
module.exports = mongoose.model('Bear', BearSchema);
在 localhost:3000/api 上,一切正常,但在 localhost:3000/api/bears 我得到 Cannot GET /api/bears
任何人都可以帮我解决我想念的地方吗?
【问题讨论】:
标签: javascript node.js api express npm