Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Vorhergehende Überarbeitung | |||
| — | de:modul:m307:learningunits:lu03:aufgaben:02 [2026/05/04 09:07] (aktuell) – vdemir | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU03.A02/ | ||
| + | - Programmierung eines Node.js Webservers, der mittels GET ein Liste von Namen mittels ausgibt. | ||
| + | - Programmierung eines Node.js Webservers, der in eine Liste einen Namen mittels POST hinzufügt. | ||
| + | ===== Rahmenbedingungen ===== | ||
| + | * Sozialform: individual | ||
| + | * Hilfsmittel: | ||
| + | * Zeit: 20 Minuten | ||
| + | * Erwartetes Resultat: Node-Server, | ||
| + | |||
| + | ===== Ausgangslage ===== | ||
| + | Wir haben die Grundfunktionen eine Webservers in der letzten Aufgabe kennen gelernt. Nun wollen wir speziefischer werden und die Methoden POST und GET gezielt anwenden. | ||
| + | |||
| + | **Hinweis: | ||
| + | |||
| + | ===== Vorarbeit ===== | ||
| + | - Installieren Sie im Visual Studio Code das Framework " | ||
| + | - npm init -y: package.json-Datei wird erstellt, dass alle Abhängigkeiten des Projektes verwaltet. | ||
| + | - npm install express: Installation des express-Frameworks mit wichtigen Funktionen/ | ||
| + | |||
| + | ==== Projekt-Abhängigkeiten verwalten ==== | ||
| + | < | ||
| + | npm init -y | ||
| + | </ | ||
| + | |||
| + | **Ergebnis** | ||
| + | Das Ergebnis im Terminalfenster von Visual Studio Code sollte wie folgt aussehen. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ==== Framework express installieren ==== | ||
| + | |||
| + | < | ||
| + | npm install express | ||
| + | </ | ||
| + | |||
| + | **Ergebnis** | ||
| + | Das Ergebnis im Terminalfenster von Visual Studio Code sollte wie folgt aussehen. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Aufgabe ===== | ||
| + | - Kopieren Sie die nachfolgende JS-Vorlage in Ihre Visual Studio Code (Filename lu03_a02.js) | ||
| + | - Starten Sie den Server | ||
| + | - Fragen Sie die Liste der Namen ab durch z.B. die URL: http:// | ||
| + | - Fügen Sie in die Liste Namen hinzu durch z.B. die URL: http:// | ||
| + | - Prüfen Sie durch erneute Abfrage der List, ob Sie erfolgreich einen Namen anhängen konnten. | ||
| + | | ||
| + | <code javascript> | ||
| + | |||
| + | const express = require(' | ||
| + | const app = express(); | ||
| + | const PORT = 3000; | ||
| + | |||
| + | // Middleware, um JSON-Daten verarbeiten zu können | ||
| + | app.use(express.json()); | ||
| + | |||
| + | // Unser Datenspeicher im Arbeitsspeicher | ||
| + | let benutzerListe = [" | ||
| + | |||
| + | // 1. Aufgabe: Die GET-Route vervollständigen | ||
| + | app.get('/ | ||
| + | // Hier senden wir das gesamte Array als JSON-Antwort an den Client zurück | ||
| + | res.json(benutzerListe); | ||
| + | }); | ||
| + | |||
| + | // 2. Aufgabe: Die POST-Route vervollständigen | ||
| + | app.post('/ | ||
| + | // Wir extrahieren den Namen aus dem Request-Body | ||
| + | const neuerName = req.body.name; | ||
| + | | ||
| + | if (neuerName) { | ||
| + | // Der Name wird mit .push() am Ende des Arrays hinzugefügt | ||
| + | benutzerListe.push(neuerName); | ||
| + | | ||
| + | // Wir senden eine Erfolgsmeldung mit dem Statuscode 201 (Created) | ||
| + | res.status(201).send(`Benutzer ${neuerName} wurde erfolgreich gespeichert.`); | ||
| + | } else { | ||
| + | // Falls kein Name mitgeschickt wurde, senden wir den Statuscode 400 (Bad Request) | ||
| + | res.status(400).send(" | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | app.listen(PORT, | ||
| + | console.log(`Ihr Server ist nun unter http:// | ||
| + | }); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[https:// | ||