Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:m307:learningunits:lu03:aufgaben:04 [2026/05/26 15:12] vdemirde:modul:m307:learningunits:lu03:aufgaben:04 [2026/05/28 13:48] (aktuell) vdemir
Zeile 1: Zeile 1:
-====== LU03.A04 - Webformulare: JSON-Daten lesen, bearbeiten, einfügen und löschen ======+====== LU03.A04/L04 - Webformulare: JSON-Daten lesen, bearbeiten, einfügen und löschen ======
   - Bestandteile eine node-Servers kennen.   - Bestandteile eine node-Servers kennen.
   - Basis-Server ausführen können.   - Basis-Server ausführen können.
Zeile 23: Zeile 23:
 ===== Benötigte File und Ablage-Struktur ===== ===== Benötigte File und Ablage-Struktur =====
  
-Die nachfolgenden Files müssen wir folgt im VS Studio Code abgelegt werden+Die nachfolgenden Files müssen wir folgt im VS Studio Code abgelegt werden{{:de:modul:m307:learningunits:lu03:aufgaben:a04.zip|Benötigten Files als Zipfile}}
- +
-{{ :de:modul:m307:learningunits:lu03:aufgaben:a04.zip| Benötigten Files}}+
  
 Stellen Sie also sicher, dass diese den nachfolgenden Aufbau haben. Stellen Sie also sicher, dass diese den nachfolgenden Aufbau haben.
Zeile 46: Zeile 44:
   * Importieren Sie diese ins VS Studio Code   * Importieren Sie diese ins VS Studio Code
  
-**2. Projektabhängigkeiten** +**2. Projektabhängigkeiten einrichten** 
-  Bevor das Skript starten kann, müssen die benötigten Node-Pakete installiert werden. + 
 +Bevor das Skript starten kann, müssen die benötigten Node-Pakete installiert werden. Gehen Sie also in Ihr Projektverzeichnis und tippen den nachfolgenden Befehl in die Kommandozeile. 
 + 
 +**Hinweis:** Unter Windows muss der gewählte Terminal ein **Commandline** oder **Command Prompt** sein
  
 <code> <code>
Zeile 53: Zeile 54:
 </code> </code>
  
-**3. Express **+**3. Express installieren ** 
 Die benötigten Module installieren: Express (für den Server) und EJS (für die Templates) müssen im Projekt registriert werden: Die benötigten Module installieren: Express (für den Server) und EJS (für die Templates) müssen im Projekt registriert werden:
  
Zeile 60: Zeile 62:
 </code> </code>
  
-** 4. Schreibberechtigung** +** 4. Schreibberechtigung der JSON-Datei setzten** 
-Damit wir die JSON-Datei auch beschreiben können, müssen wir hier die Berechtigung anpassen.+Es kann passieren, dass Sie die JSON-Datei nicht beschreiben können, was sich durch eine Fehlermeldung beim Server bemerkbar macht. Damit wir die JSON-Datei auch beschreiben können, müssen wir hier die Berechtigung anpassen. Gehen Sie im Terminal an die Stelle, an dem die JSON-Datei gespeichert wurde und geben die nachfolgenden Codezeilen ein.
  
 ** 4.1 Winddows-Powershell** ** 4.1 Winddows-Powershell**
Zeile 71: Zeile 73:
  
 **4.2 MacOS** **4.2 MacOS**
-Gehen Sie im Finder auf das JSON-File --> Get Info -->  
- 
- 
- 
- 
- 
-==== 2. Server ==== 
-Erstellen Sie ein weiteres File mit dem Titel //server.js// und kopieren den nachfolgenden Code rein. 
  
 <code> <code>
-const express = require('express')+# Gibt dem Besitzer (UserLese- und Schreibrechte (rw-
-const app = express(); +chmod 644 data.json
-const PORT = 3000;+
  
-// Middlewaredamit Express JSON-Daten im Body lesen kann +# Falls der ganze Ordner blockiert istrekursiv für alle Dateien freigeben: 
-app.use(express.json());+chmod -R 755 
  
-// Unser "Datenbank"-Ersatz +</code>
-let users = ["Alice", "Bob"];+
  
-// --- DEINE AUFGABE AB HIER --- 
  
-// 1. GET ROUTE: Gib das 'users' Array zurück 
-app.get('/users', (req, res) => { 
-    // CODE HIER 
-}); 
- 
-// 2. POST ROUTE: Füge einen neuen User hinzu 
-app.post('/users', (req, res) => { 
-    const newUser = req.body.name; // Wir erwarten { "name": "DeinName" } 
-     
-    if (newUser) { 
-        // CODE HIER: User zum Array hinzufügen 
-        res.status(201).send(`User ${newUser} wurde hinzugefügt.`); 
-    } else { 
-        res.status(400).send("Fehler: Kein Name angegeben!"); 
-    } 
-}); 
- 
-// --- ENDE DER AUFGABE --- 
- 
-app.listen(PORT, () => { 
-    console.log(`Server läuft auf http://localhost:${PORT}`); 
-}); 
-</code> 
  
  
Zeile 123: Zeile 91:
  
 ===== Lösungen ===== ===== Lösungen =====
-[[de:modul:m307:learningunits:lu03:Lösungen:01|LU03.L01]]+Gibt keine, da die Aufgabe darin besteht die Applikation zu laufen zu bringen.
  
 ---- ----
 [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir
  • de/modul/m307/learningunits/lu03/aufgaben/04.1779801157.txt.gz
  • Zuletzt geändert: 2026/05/26 15:12
  • von vdemir