Kursinhalt
Backend-Entwicklung mit Node.js und Express.js
Backend-Entwicklung mit Node.js und Express.js
Routen Erstellen
Lassen Sie uns diese praktischen Beispiele zur Erstellung von Routen in Express.js genauer erkunden.
🌟 Grundlegende Routen
Lassen Sie uns eine einfache Express.js-Anwendung mit Routen für verschiedene HTTP-Methoden erstellen. Jede Route verarbeitet eine spezifische HTTP-Anfrage und sendet eine Antwort an den Client zurück.
- GET-Route: Diese Route antwortet auf eine GET-Anfrage an der Stamm-URL (
/
). Benutzer, die die Startseite der Anwendung aufrufen, erhalten die Nachricht "Dies ist die Startseite."; - POST-Route: Diese Route antwortet auf eine POST-Anfrage an der URL
/users
. Sie wird typischerweise zum Erstellen neuer Benutzeraufzeichnungen verwendet. Die Route enthält einen Kommentar zur Handhabung der Benutzererstellungslogik, der durch die tatsächliche Benutzererstellungslogik ersetzt werden kann; - PUT-Route: Diese Route antwortet auf eine PUT-Anfrage an der URL
/users/:id
. Sie ist zum Aktualisieren von Benutzeraufzeichnungen basierend auf dem:id
-Parameter konzipiert. Wie die POST-Route enthält sie einen Kommentar zur Handhabung der Benutzeraktualisierungslogik; - DELETE-Route: Diese Route antwortet auf eine DELETE-Anfrage an der URL
/users/:id
. Sie wird zum Löschen von Benutzeraufzeichnungen basierend auf dem:id
-Parameter verwendet. Wie bei den anderen Routen enthält sie einen Kommentar zur Handhabung der Benutzerlöschlogik.
Hinweis
Wenn Sie sich über die URL unsicher sind oder das Konzept überprüfen möchten, lesen Sie bitte den folgenden Artikel: URL vs URI vs URN
🌟 Umgang mit URL-Parametern
Konzentrieren wir uns darauf, eine Route zu erstellen, die URL-Parameter verarbeitet. URL-Parameter sind dynamische Teile einer URL, die verwendet werden können, um Daten an den Server zu übermitteln. So funktioniert dieses Beispiel:
- Wir definieren eine Route mit
app.get('/users/:id', ...)
, wobei:id
ein URL-Parameter ist. Das bedeutet, dass, wenn ein Benutzer eine URL wie/users/123
aufruft, die Variablereq.params.id
den Wert123
enthält; - Innerhalb des Routen-Handlers greifen wir auf den
:id
-Parameter mitreq.params.id
zu; - Sie können den Kommentar durch Logik ersetzen, um Benutzerdaten basierend auf der aus dem URL-Parameter erhaltenen
userId
abzurufen; - Schließlich antworten wir dem Client mit Informationen über den Benutzer, der durch den
:id
-Parameter identifiziert wird.
🌟 Reihenfolge und Priorisierung von Routen
Die Reihenfolge, in der Routen definiert werden, ist wichtig, da Express eine First-Match-Wins-Strategie verwendet. Die erste übereinstimmende Route wird ausgeführt. In diesem Beispiel betrachten wir ein Szenario, in dem Sie sowohl eine spezifische als auch eine Catch-All-Route haben:
- Die erste Route,
app.get('/users/:id', ...)
, ist eine spezifische Route, die auf URLs wie/users/123
antwortet. Sie wird Anfragen mit einer spezifischen Benutzer-ID bearbeiten; - Die zweite Route,
app.get('/users/*', ...)
, ist eine Catch-All-Route für allgemeine benutzerbezogene Anfragen. Sie verwendet ein Platzhalterzeichen (*
), um jede URL zu matchen, die mit/users/
beginnt, wie z.B./users/settings
.
In diesem Szenario ist die Reihenfolge entscheidend. Die spezifische Route sollte vor der Catch-All-Route definiert werden, um sicherzustellen, dass sie Vorrang hat. Wenn Sie die Catch-All-Route zuerst definieren, wird sie alle URLs matchen, die mit /users/
beginnen, und die spezifische Route hat keine Chance, Anfragen mit einer Benutzer-ID zu bearbeiten.
Danke für Ihr Feedback!