Erstellen einer Nachrichten-API mit Node.js

JavaScriptJavaScriptBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"]) javascript(("JavaScript")) -.-> javascript/NetworkingGroup(["Networking"]) javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/AdvancedConceptsGroup -.-> javascript/error_handle("Error Handling") javascript/DOMManipulationGroup -.-> javascript/dom_manip("DOM Manipulation") javascript/DOMManipulationGroup -.-> javascript/event_handle("Event Handling") javascript/NetworkingGroup -.-> javascript/http_req("HTTP Requests") javascript/NetworkingGroup -.-> javascript/json("JSON") javascript/NetworkingGroup -.-> javascript/api_interact("API Interaction") subgraph Lab Skills javascript/cond_stmts -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} javascript/error_handle -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} javascript/dom_manip -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} javascript/event_handle -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} javascript/http_req -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} javascript/json -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} javascript/api_interact -.-> lab-445682{{"Erstellen einer Nachrichten-API mit Node.js"}} end

Erstellen eines Servers

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!");
    });

Verarbeiten der /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));

Verarbeiten anderer 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!");
});

Testen des Servers

  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.

✨ Lösung prüfen und üben

Zusammenfassung

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