Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Benutzerdefinierte Middleware | Express.js Framework
Backend-Entwicklung mit Node.js und Express.js
course content

Kursinhalt

Backend-Entwicklung mit Node.js und Express.js

Backend-Entwicklung mit Node.js und Express.js

1. Einführung
2. Konsolenanwendungen
3. Express.js Framework
4. Entwicklung von REST-API

book
Benutzerdefinierte Middleware

In Express.js können wir benutzerdefinierte Middleware-Funktionen mit der Methode app.use() erstellen. Diese Funktionen nehmen drei Parameter entgegen: req (das Anforderungsobjekt), res (das Antwortobjekt) und next (eine Funktion, um die Kontrolle an die nächste Middleware in der Kette zu übergeben). Benutzerdefinierte Middleware kann global auf alle Routen oder auf spezifische Routen angewendet werden, indem ein Routenpfad angegeben wird.

Erstellen von benutzerdefinierter Middleware

Hier ist ein einfaches Beispiel für eine benutzerdefinierte Middleware-Funktion, die den Zeitstempel und die URL jeder eingehenden Anfrage protokolliert:

In diesem Beispiel protokolliert die benutzerdefinierte Middleware den Zeitstempel und die URL jeder eingehenden Anfrage in der Konsole. Die Funktion next() wird aufgerufen, um die Kontrolle an die nächste Middleware in der Pipeline zu übergeben.

Praxisbeispiel: Kombination von eingebauter und benutzerdefinierter Middleware

Hier ist ein praktisches Beispiel, bei dem wir eine eingebaute Express-Middleware verwenden, um JSON-Daten zu parsen, und dann eine benutzerdefinierte Middleware erstellen, um diese Daten vor der Weiterverarbeitung zu validieren:

In diesem Beispiel:

  • Wir verwenden die eingebaute Middleware express.json(), um eingehende JSON-Daten zu parsen;
  • Wir erstellen eine benutzerdefinierte Middleware, die überprüft, ob die geparsten JSON-Daten fehlen oder leer sind. Wenn dies der Fall ist, sendet sie eine 400 Bad Request-Antwort mit einer Fehlermeldung. Wenn die Daten gültig sind, ruft sie next() auf, um zur Route fortzufahren;
  • Die /api/data-Route erwartet gültige JSON-Daten. Wenn die benutzerdefinierte Middleware die Daten validiert, empfängt der Routen-Handler sie und sendet eine Erfolgsantwort.

Dieses Beispiel zeigt, wie wir sowohl eingebaute als auch benutzerdefinierte Middleware verwenden können, um Daten zu validieren, bevor sie unsere Routen-Handler erreichen, und sicherzustellen, dass die Daten im erwarteten Format vorliegen, bevor sie weiterverarbeitet werden.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 9
We're sorry to hear that something went wrong. What happened?
some-alt