Einleitung: Warum Sie eine REST API in JavaScript in 30 Minuten brauchen?
\nModerne Webentwicklung ist ohne API (Application Programming Interface) undenkbar. REST (Representational State Transfer) ist der beliebteste Architekturstil für die Erstellung von Webdiensten. Wenn Sie schnell die Backend-Entwicklung erlernen oder Ihren ersten Server starten möchten, sind JavaScript und Node.js die ideale Wahl. In 30 Minuten können Sie eine vollwertige REST API erstellen, die Anfragen verarbeitet, Daten im JSON-Format zurückgibt und mit einer Datenbank arbeitet (in unserem Beispiel mit einem einfachen Array im Arbeitsspeicher).
\nIn diesem Artikel analysieren wir ein praktisches Beispiel: Wir erstellen eine API zur Verwaltung einer Aufgabenliste (To-Do-Liste). Sie lernen, wie Sie einen Server konfigurieren, GET-, POST-, PUT- und DELETE-Anfragen verarbeiten und eine grundlegende Validierung hinzufügen. Am Ende der Lektüre haben Sie einen fertigen Code, den Sie sofort ausführen und testen können.
\n\nSchritt 1: Projekteinrichtung und Installation der Abhängigkeiten
\nBevor Sie Code schreiben, müssen Sie die Umgebung vorbereiten. Stellen Sie sicher, dass Node.js installiert ist (Download von der offiziellen Website). Befolgen Sie dann die Anleitung:
\n- \n
- Erstellen Sie einen neuen Ordner für das Projekt, z.B.
rest-api-todo. \n - Öffnen Sie das Terminal in diesem Ordner und führen Sie den Befehl
npm init -yaus – dies erstellt die Dateipackage.json. \n - Installieren Sie Express – das beliebteste Framework für Node.js:
npm install express. \n - Installieren Sie zur Vereinfachung
nodemonals dev-Abhängigkeit:npm install --save-dev nodemon. Es startet den Server bei Codeänderungen automatisch neu. \n
Fügen Sie nach der Installation in package.json ein Skript zum Starten hinzu:
"scripts": {\n "start": "node index.js",\n "dev": "nodemon index.js"\n}\n\nSchritt 2: Erstellung eines grundlegenden Servers mit Express
\nJetzt erstellen wir die Datei index.js – dies wird der Einstiegspunkt unserer Anwendung sein. Darin konfigurieren wir den Server, binden Middleware für die Arbeit mit JSON ein und definieren die erste Route.
const express = require('express');\nconst app = express();\nconst PORT = 3000;\n\n// Middleware zum Parsen von JSON\napp.use(express.json());\n\n// Temporärer Datenspeicher (anstelle einer Datenbank)\nlet tasks = [\n { id: 1, title: 'Express lernen', completed: false },\n { id: 2, title: 'REST API schreiben', completed: false }\n];\nlet currentId = 3;\n\n// Basisroute zur Überprüfung\napp.get('/', (req, res) => {\n res.send('REST API funktioniert! Verwenden Sie /api/tasks');\n});\n\n// Server starten\napp.listen(PORT, () => {\n console.log(`Server gestartet unter http://localhost:${PORT}`);\n});\nStarten Sie den Server mit dem Befehl npm run dev und öffnen Sie im Browser http://localhost:3000. Sie sollten die Meldung "REST API funktioniert!" sehen.
Schritt 3: Implementierung von CRUD-Operationen (GET, POST, PUT, DELETE)
\nJetzt kommt der spannende Teil – wir erstellen eine vollwertige REST API zur Verwaltung von Aufgaben. Wir implementieren vier grundlegende HTTP-Methoden:
\n\n3.1. GET /api/tasks – Abrufen aller Aufgaben
\n// Alle Aufgaben abrufen\napp.get('/api/tasks', (req, res) => {\n res.json(tasks);\n});\n\n3.2. GET /api/tasks/:id – Abrufen einer einzelnen Aufgabe nach ID
\n// Aufgabe nach ID abrufen\napp.get('/api/tasks/:id', (req, res) => {\n const id = parseInt(req.params.id);\n const task = tasks.find(t => t.id === id);\n \n if (!task) {\n return res.status(404).json({ message: 'Aufgabe nicht gefunden' });\n }\n res.json(task);\n});\n\n3.3. POST /api/tasks – Erstellen einer neuen Aufgabe
\n// Neue Aufgabe erstellen\napp.post('/api/tasks', (req, res) => {\n const { title, completed } = req.body;\n \n // Validierung\n if (!title || typeof title !== 'string') {\n return res.status(400).json({ message: 'Aufgabentitel ist erforderlich und muss ein String sein' });