Ich versuche, eine RESTful Webservice nach dieser Anleitung zu bauen: https://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbdNode.js erholsamer Webservice mit Express und Mungo. Routing funktioniert nicht
Es funktioniert nicht mich Rückkehr ein kann nicht/Berichte Fehler ... Ich versuche node.js zu lernen und ich kann den Fehler nirgends finden und alles, was ich versucht habe, hat nicht funktioniert.
Auch, wenn ich den Server anrufe, erreicht es index.js, die ein "HEY" druckt. Sollte das nicht zuerst server.js erreichen?
Hier ist mein Code:
Server.js
var express = require('express'),
app = express(),
port = process.env.PORT || 3000,
mongoose = require('mongoose'),
Report = require('./api/models/reportModel.js'),
bodyParser = require('body-parser');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/server');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var routes = require('./api/routes/reportRoute.js');
routes(app);
app.listen(port);
console.log('Report RESTful API server started on: ' + port);
reportRoute.js
'use strict';
module.exports = function(app) {
var reports = require('../controllers/reportController.js');
// report Routes
app.route('/reports')
.get(reports.list_all_reports)
.post(reports.create_a_report);
app.route('/reports/:reportId').get(reports.read_a_report)
.put(reports.update_a_report)
.delete(reports.delete_a_report);
};
reportController.js
'use strict';
var mongoose = require('mongoose'),
Report = mongoose.model('Reports');
exports.list_all_reports = function(req, res) {
Report.find({}, function(err, report) {
if (err)
res.send(err);
res.json(report);
});
};
exports.create_a_report = function(req, res) {
var new_report = new Report(req.body);
new_report.save(function(err, report) {
if (err)
res.send(err);
res.json(report);
});
};
exports.read_a_report = function(req, res) {
Report.findById(req.params.reportId, function(err, report) {
if (err)
res.send(err);
res.json(report);
});
};
exports.update_a_report = function(req, report) {
Report.findOneAndUpdate({_id: req.params.taskId}, req.body, { new: true }, function(err, report) {
if (err)
res.send(err);
res.json(report);
});
};
exports.delete_a_report = function(req, res) {
Report.remove({
_id: req.params.reportId
}, function(err, report) {
if (err)
res.send(err);
res.json({ message: 'Report successfully deleted' });
});
};
Vielen Dank für Ihre Hilfe .. .
EDIT:
index.js
const express = require('express');
const app = express();
var route = require('./api/routes/reportRoute');
app.get('/', function(req, res) {
res.send('HEY!');
})
app.listen(3000, function(){console.log('Server running on port 3000')});
ist das alles Code, den Sie geschrieben haben. Ich denke, Sie sind nicht verbinden Router-Datei korrekt –
Was fehlt für meinen Router? –
, um dies einfach nur in app.js bearbeiten zu lassen. nach 'app.use (bodyParser.json());' add 'app.get ('/ test', function (req, res) {res.jsonp ({daten: 'hallo'});})' dann versuche es localhost: port/test und erzähl uns was passiert ist? –