Erstellen einer Nachrichten-API mit Node.js

JavaScriptBeginner
Jetzt üben

Einführung

In diesem Projekt lernst du, wie du eine einfache Nachrichten-API mit Node.js erstellen kannst. Du wirst lernen, wie du einen Server erstellen, verschiedene Routen verarbeiten und Nachrichten-Daten in einem bestimmten Format zurückgeben kannst.

👀 Vorschau

curl http://localhost:8080/news
## Ausgabe:
## [{"channelId":"5572a108b3cdc86cf39001cd","name":"National Focus"},{"channelId":"5572a108b3cdc86cf39001ce","name":"International Focus"}]

curl http://localhost:8080
## Ausgabe:
## 404

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du einen Server mit Node.js erstellen kannst
  • Wie du die /news-Route verarbeitest und Nachrichten-Daten zurückgibst
  • Wie du andere Routen verarbeitest und eine 404-Antwort zurückgibst

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Die Grundlagen des Erstellens eines Servers mit Node.js zu verstehen
  • Eine einfache API zu implementieren, um Nachrichten-Daten zurückzugeben
  • Verschiedene Routen zu verarbeiten und passende Antworten zu liefern

Erstelle einen Server

Um loszulegen, öffnen Sie den Editor. Sie sollten eine Datei im Editor sehen - "app.js".

In diesem Schritt lernen Sie, wie Sie einen Server mit Node.js erstellen. Folgen Sie den Schritten unten, um diesen Schritt abzuschließen:

  1. Öffnen Sie die Datei app.js in Ihrer Entwicklungsumgebung.

  2. Importieren Sie das Modul http, das die Funktionalität zum Erstellen eines Servers bietet:

    const http = require("http");
    
  3. Erstellen Sie einen neuen Server mit der Methode createServer():

    const serve = http.createServer();
    
  4. Fügen Sie einem Ereignislistener für den Server hinzu, um eingehende Anfragen zu verarbeiten:

    serve.on("request", (req, res) => {
      // TODO: Fügen Sie Code hinzu, um die Anfrage zu verarbeiten
    });
    
  5. Starten Sie den Server und hören Sie auf Port 8080:

    serve.listen(8080, () => {
      console.log("Der Dienst wurde gestartet!");
    });
    

Verarbeite die /news-Route

In diesem Schritt lernst du, wie du die /news-Route verarbeitest und Nachrichten-Daten zurückgibst. Folgen Sie den Schritten unten, um diesen Schritt abzuschließen:

  1. Innerhalb des Anfrage-Ereignislisteners setze den Antwortheader, um das utf8-Format zu verwenden:

    res.setHeader("Content-type", "text/html;charset=utf8");
    
  2. Überprüfe die angeforderte URL:

    if (req.url == "/news") {
      // Verarbeite die /news-Route
    } else {
      // Verarbeite andere Routen
    }
    
  3. Bereite die Nachrichten-Daten im erforderlichen Format vor:

    const data = [
      {
        channelId: "5572a108b3cdc86cf39001cd",
        name: "National Focus"
      },
      {
        channelId: "5572a108b3cdc86cf39001ce",
        name: "International Focus"
      }
    ];
    
  4. Sende die Nachrichten-Daten als Antwort:

    res.end(JSON.stringify(data));
    

Verarbeite andere Routen

In diesem Schritt lernst du, wie du andere Routen verarbeitest, die nicht /news sind.

  1. Innerhalb des Anfrage-Ereignislisteners füge einen else-Block hinzu, um andere Routen zu verarbeiten:

    if (req.url == "/news") {
      // Verarbeite die /news-Route
      //...
    } else {
      // Verarbeite andere Routen
      res.end("404");
    }
    
  2. Im else-Block sende eine 404-Antwort, um anzuzeigen, dass die angeforderte Route nicht gefunden wurde.

Jetzt sollte deine app.js-Datei so aussehen:

const http = require("http");
const serve = http.createServer();

serve.on("request", (req, res) => {
  // TODO: Füge Code hinzu, um die Anfrage zu verarbeiten
  res.setHeader("Content-type", "text/html;charset=utf8");
  console.log(req.url);
  if (req.url == "/news") {
    const data = [
      {
        channelId: "5572a108b3cdc86cf39001cd",
        name: "National Focus"
      },
      {
        channelId: "5572a108b3cdc86cf39001ce",
        name: "International Focus"
      }
    ];

    res.end(JSON.stringify(data));
  } else {
    res.end("404");
  }
});

serve.listen(8080, () => {
  console.log("Der Dienst wurde gestartet!");
});

Teste den Server

  1. Führen Sie den Server mit dem folgenden Befehl im Terminal aus:

    node app.js
    
  2. Öffnen Sie erneut ein neues Terminal und überprüfen Sie, ob das Terminal korrekt ist, mit dem folgenden Befehl:

curl http://localhost:8080/news
## Ausgabe:
## [{"channelId":"5572a108b3cdc86cf39001cd","name":"National Focus"},{"channelId":"5572a108b3cdc86cf39001ce","name":"International Focus"}]

curl http://localhost:8080
## Ausgabe:
## 404

Herzlichen Glückwunsch! Sie haben erfolgreich eine Nachrichten-API mit Node.js erstellt.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben dieses Projekt abgeschlossen. Sie können in LabEx weitere Übungen absolvieren, um Ihre Fähigkeiten zu verbessern.

✨ Lösung prüfen und üben✨ Lösung prüfen und üben✨ Lösung prüfen und üben✨ Lösung prüfen und üben