Wie man in 30 Minuten ein REST API mit TypeScript schreibt: in der Praxis

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: Warum TypeScript für REST-APIs?

Moderne Webentwicklung ist ohne klare und skalierbare APIs nicht denkbar. TypeScript, als streng typisierte Obermenge von JavaScript, ermöglicht es Ihnen, zuverlässige REST-APIs mit einer minimalen Anzahl von Laufzeitfehlern zu erstellen. In diesem Artikel werden wir praktisch, Schritt für Schritt, eine vollwertige REST-API in TypeScript unter Verwendung des beliebten Express-Frameworks erstellen. Der gesamte Vorgang dauert nicht länger als 30 Minuten, und das Ergebnis ist bereit für den Einsatz in realen Projekten.

Wir werden behandeln: Projektinitialisierung, TypeScript-Konfiguration, Erstellen von Routen, Arbeiten mit Middleware, Fehlerbehandlung und Endpunkt-Tests. Alle Codebeispiele können sofort ausgeführt und an Ihre Aufgaben angepasst werden.



Schritt 1: Projektinitialisierung und Abhängigkeitsinstallation

Erstellen Sie zunächst ein neues Verzeichnis für das Projekt und initialisieren Sie es. Öffnen Sie Ihr Terminal und führen Sie Folgendes aus:

mkdir my-ts-apicd my-ts-apinpm init -y

Installieren Sie nun die erforderlichen Pakete:

npm install expressnpm install -D typescript @types/node @types/express ts-node nodemon

Erstellen Sie die TypeScript-Konfigurationsdatei:

npx tsc --init

Bearbeiten Sie tsconfig.json, um die folgenden Optionen einzufügen:

{  "compilerOptions": {    "target": "ES2020",    "module": "commonjs",    "outDir": "./dist",    "rootDir": "./src",    "strict": true,    "esModuleInterop": true,    "skipLibCheck": true  }}

Fügen Sie Skripte zu package.json hinzu:

"scripts": {  "build": "tsc",  "start": "node dist/index.js",  "dev": "nodemon --exec ts-node src/index.ts"}


Schritt 2: Erstellen der grundlegenden Struktur und des ersten Endpunkts

Erstellen Sie einen src-Ordner und darin eine Datei index.ts. Beginnen wir mit einem einfachen Server, der auf GET-Anfragen antwortet:

import express, { Request, Response } from 'express';

const app = express();const PORT = process.env.PORT || 3000;

// Middleware zum Parsen von JSONapp.use(express.json());

// Basis-Routeapp.get('/', (req: Request, res: Response) => { res.send('REST-API in TypeScript funktioniert!');});

app.listen(PORT, () => { console.log(`Server läuft unter http://localhost:${PORT}`);});

Starten Sie den Server mit dem Befehl npm run dev und öffnen Sie http://localhost:3000. Sie sehen eine Willkommensnachricht.



Erstellen eines Datenmodells

Für eine vollwertige API benötigen wir eine Entität. Lassen Sie uns ein einfaches Benutzermodell erstellen:

// src/models/user.tsexport interface User {  id: number;  name: string;  email: string;  age: number;}

export type CreateUserDto = Omit;


Schritt 3: Implementieren von CRUD-Operationen

Jetzt erstellen wir einen Controller und Routen für die Arbeit mit Benutzern. Erstellen Sie eine Datei src/routes/users.ts:

import { Router, Request, Response } from 'express';import { User, CreateUserDto } from '../models/user';

const router = Router();let users: User[] = [ { id: 1, name: 'Ivan', email: 'ivan@example.com', age: 28 }, { id: 2, name: 'Maria', email: 'maria@example.com', age: 32 }];let nextId = 3;

// GET /users - alle Benutzer abrufenrouter.get('/', (req: Request, res: Response) => { res.json(users);});

// GET /users/:id - Benutzer nach ID abrufenrouter.get('/:id', (req: Request, res: Response) => { const id = parseInt(req.params.id); const user = users.find(u => u.id === id); if (!user) { return res.status(404).json({ message: 'Benutzer nicht gefunden' }); } res.json(user);});

// POST /users - einen neuen Benutzer erstellenrouter.post('/', (req: Request, res: Response) => { const { name, email, age }: CreateUserDto = req.body; if (!name || !email || !age) { return res.status(400).js

Blogs

Buchempfehlungen