Wie man in 30 Minuten eine REST API in JavaScript schreibt: für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: REST API – das ist einfach

REST API (Representational State Transfer) ist die "Sprache", mit der verschiedene Programme im Internet kommunizieren. Wenn Sie möchten, dass Ihre Webanwendung Daten an eine andere Anwendung weitergibt (z. B. an einen mobilen Client oder ein Frontend in React), benötigen Sie eine API. Und heute schreiben wir eine solche API in JavaScript (Node.js) von Grund auf in nur 30 Minuten.

Wir werden die beliebteste Bibliothek verwenden – Express. Sie ist einfach, flexibel und ideal für Anfänger geeignet. Am Ende des Artikels haben Sie einen funktionierenden Server mit vier grundlegenden CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen). Los geht's!



Schritt 1: Umgebungsvorbereitung und Installation von Express

Bevor Sie Code schreiben, stellen Sie sicher, dass Node.js installiert ist. Überprüfen Sie dies im Terminal:

node -vnpm -v

Wenn Versionen angezeigt werden – ist alles bereit. Falls nicht, laden Sie Node.js von der offiziellen Website herunter.

Erstellen Sie nun einen Ordner für das Projekt und initialisieren Sie es:

mkdir my-first-apicd my-first-apinpm init -y

Die Datei package.json wurde erstellt. Installieren Sie Express und die Bibliothek für die Arbeit mit UUID (zur Generierung eindeutiger IDs):

npm install express uuid

Fertig. Erstellen Sie die Datei index.js – dies wird die Hauptdatei unseres Servers sein.



Schritt 2: Erstellen eines einfachen Servers mit Express

Öffnen Sie index.js und schreiben Sie die erste Version des Servers:

const express = require('express');const app = express();const PORT = 3000;

// JSON-Parsing aus dem Request-Bodyapp.use(express.json());

// Test-Routeapp.get('/', (req, res) => { res.send('Hallo Welt! REST API funktioniert!');});

// Server startenapp.listen(PORT, () => { console.log(`Server gestartet unter http://localhost:${PORT}`);});

Starten Sie den Server mit dem Befehl:

node index.js

Öffnen Sie den Browser und gehen Sie zu http://localhost:3000. Wenn Sie eine Begrüßungsnachricht sehen – funktioniert alles!

Code-Erklärung: express.json() ist eine Middleware, die automatisch JSON aus der Anfrage in ein JavaScript-Objekt umwandelt. Dies wird für POST- und PUT-Anfragen benötigt.



Schritt 3: Hinzufügen von Daten und CRUD-Routen

Jetzt kommt der spannendste Teil – wir erstellen ein Array mit Daten (in einem echten Projekt würden Sie eine Datenbank verwenden, aber für das Lernen reicht ein Array). Dies wird eine Liste von Büchern sein.

const { v4: uuidv4 } = require('uuid');

// Datenbank-Simulationlet books = [];

// Buch erstellen (POST)app.post('/api/books', (req, res) => { const { title, author } = req.body; if (!title || !author) { return res.status(400).json({ error: 'Bitte title und author angeben' }); } const newBook = { id: uuidv4(), title, author }; books.push(newBook); res.status(201).json(newBook);});

// Alle Bücher abrufen (GET)app.get('/api/books', (req, res) => { res.json(books);});

// Ein Buch nach ID abrufen (GET)app.get('/api/books/:id', (req, res) => { const book = books.find(b => b.id === req.params.id); if (!book) { return res.status(404).json({ error: 'Buch nicht gefunden' }); } res.json(book);});

// Buch aktualisieren (PUT)app.put('/api/books/:id', (req, res) => { const book = books.find(b => b.id === req.params.id); if (!book) { return res.status(404).json({ error: 'Buch nicht gefunden' }); } const { title, author } = req.body; if (title) book.title = title; if (author) book.author = author; res.json(book);});

// Buch löschen (DELETE)app.delete('/api/books/:id', (req, res) => { const index = books.findIndex(b => b.id === req.params.id); if (index === -1) { return res.status(404).json({ error: 'Buch nicht gefunden' }); } books.splice(index, 1); res.status(204

Blogs

Buchempfehlungen