Während ich durch this tutorial ging, stieß ich auf ein Problem, bei dem die Router-Methoden nicht funktionieren würden. Wenn Sie npm start
verwenden und auf localhost: 3000/api/puppies zugreifen, wird ein Fehler 404 angezeigt. Allerdings, wenn ichExpress router.get schlägt fehl, aber app.get funktioniert
var router = express.Router();
router.get('/api/puppies', db.getAllPuppies);
zu
var app = express();
app.get('/api/puppies', db.getAllPuppies);
und laufen mit node index.js
, die Daten druckt, wie erwartet. Ich habe auch versucht, am Anfang meiner Datei
aber keine Freude zu setzen. Hat das etwas mit npm start
zu tun? An einer Stelle habe ich den Code buchstäblich aus dem Tutorial kopiert und eingefügt, und trotzdem bekomme ich die 404s.
Also 'app.use ('/ api', Router); router.get ('/ api/puppies', db.getAllPuppies); 'scheint sinnvoll zu sein. Allerdings bekomme ich immer noch den 404. – 1252748
@ 1252748 - Nein. Sie registrieren URL-Handler für '/ api/api/puppies'. Entfernen Sie eine der '/ api'-Spezifikationen. FYI, der Code in Frage von diesem Tutorial ist hier: https://github.com/mjhea0/node-postgres-promises/blob/master/app.js#L24. Das Tutorial verwendet 'app.use ('/', routes);'. – jfriend00
Hmm. Er hat es ein bisschen kompliziert. Ihr Vorschlag lautet dann: 'app.use ('/ api', Router); router.get ('/ welpen', db.getAllPuppies); 'Es ist der gleiche Fehler. – 1252748