Ich habe den folgenden Code in meinem Express
App:Express: router.route sendet keine Anfrage, sondern läuft weiter
var express = require('express'); // call express
var app = express(); // define our app using express
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
// connect to our database
mongoose.connect('mongodb://username:[email protected]<url>/db-name');
var Bear = require('./app/models/bear');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080; // set our port
var router = express.Router();
//middleware to use for all requests
router.use(function(req, res, next) {
// do logging
console.log('Something is happening.');
next(); // make sure we go to the next routes and don't stop here
});
router.route('/bears')
.get(function(req, res) {
Bear.find(function(err, bears) {
if(err)
res.send(err);
console.log('I am in GET');
res.json(bears);
});
})
.post(function(req, res) {
var bear = new Bear();
bear.name = req.body.name;
console.log('body param:'+ bear.name);
bear.save(function(err) {
if(err)
res.send(err);
res.json({ message: 'Bear created!'});
});
});
router.get('/', function(req, res) {
res.json({ message: 'hooray! welcome to our api!' });
});
app.use('/api', router);
app.listen(port);
Hier mein Model
Code ist:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BearSchema = new Schema({
name: String
});
module.exports = mongoose.model('Bear', BearSchema);
Wenn ich entweder POSTMAN Einsatz oder browser läuft die Anfrage weiter und stoppt oder gibt nichts zurück. Ich denke, der Rückruf sollte beendet werden, weiß aber nicht wie.
Ich treffe http://localhost:8080/api/bears
und es bleibt erfrischend und die Anfrage endet nie.
Ausgabe vom Server, wenn ich getroffen/api/trägt & Anfrage noch nicht zu Ende:
Something is happening.
Ausgabe vom Server, wenn ich getroffen/api
Something is happening.
und auf Browser Ich sehe,
Welche Anfragen senden Sie? Siehst du irgendwelche Fehler in der Konsole? – alexmac
@AlexanderMac http: // localhost: 8080/api/Bären und keine Konsolenfehler und es wird nicht gedruckt "Ich bin in GET' – fscore
Verwenden Sie zusätzliche Middleware' app.use ('/ api', you_router) '? – alexmac