Kursinhalt
Backend-Entwicklung mit Node.js und Express.js
Backend-Entwicklung mit Node.js und Express.js
Implementierung der "GET ALL POSTS"-Route
Wir werden erkunden, wie man die Route "GET ALL POSTS" in der Datei postsRoutes.js
implementiert. Diese Route ruft eine Liste aller Beiträge aus der Datenquelle (database/posts.json
) ab und sendet sie als Antwort an den Client.
Importieren der erforderlichen Module und Abhängigkeiten
Am Anfang der Datei importieren wir die notwendigen Module und Abhängigkeiten:
express
: Wir importieren das Express-Framework, um unsere Routen zu erstellen;fs/promises
: Dieses Modul bietet asynchrone Dateioperationen, die wir verwenden, um Daten aus einer JSON-Datei zu lesen;validatePostData
: Obwohl in dieser Route nicht verwendet, importieren wir dasvalidatePostData
-Middleware, das in späteren Kapiteln für die Datenvalidierung nützlich sein wird.
Initialisieren eines Express Routers
Wir initialisieren eine Instanz eines Express Routers, der alle in dieser Datei definierten Routen verwalten wird:
Erstellen einer Funktion zum Lesen von Daten
Wir definieren eine asynchrone Funktion namens readData, um Daten aus einer JSON-Datei zu lesen. Diese Funktion stellt sicher, dass die Daten ordnungsgemäß abgerufen werden und behandelt Fehler:
fs.readFile
: Wir verwendenfs.readFile
, um den Inhalt der./database/posts.json
Datei zu lesen;JSON.parse
: Die aus der Datei abgerufenen Daten werden in ein JavaScript-Objekt geparst;- Fehlerbehandlung: Wenn während des Lese- oder Parsvorgangs Fehler auftreten, werden sie abgefangen und der Fehler wird ausgelöst.
Definieren der "GET ALL POSTS" Route
So definieren wir die "GET ALL POSTS" Route innerhalb des Routers:
Routendefinition: Wir geben an, dass diese Route HTTP GET-Anfragen an den Stammweg (/
) behandelt.
Routen-Handler: Innerhalb der Routen-Handler-Funktion:
- Wir rufen die
readData
Funktion auf, um die Liste der Beiträge aus der JSON-Datei abzurufen; - Wenn das Abrufen der Daten erfolgreich ist, senden wir die abgerufenen Daten als Antwort mit
res.send(data)
; - Wenn während dieses Prozesses Fehler auftreten, fangen wir den Fehler ab, protokollieren ihn zur Fehlerbehebung in der Konsole (
console.error(error.message)
) und fahren fort.
Vollständiger Code der Datei postsRoutes.js in diesem Schritt
Danke für Ihr Feedback!