0 Tage Serie
javascript / intermediate
Snippet

Minimalistisches Routen-Dispatching mit dem Node.js HTTP-Modul

Node.js ermöglicht den Aufbau grundlegender Web-Frameworks mit dem nativen `node:http`-Modul. Das Zuordnen von Method-Path-Strings zu Handler-Funktionen in einer `Map` erzeugt einen leichten, deterministischen Request-Router ohne externe Bibliotheken.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import http from 'node:http';
const routes = new Map([
['GET /api/status', (req, res) => res.end(JSON.stringify({ status: 'ok' }))],
['POST /api/echo', (req, res) => res.end('Echo response')]
]);
const server = http.createServer((req, res) => {
const routeKey = `${req.method} ${req.url}`;
const handler = routes.get(routeKey);
if (!handler) {
res.statusCode = 404;
return res.end(JSON.stringify({ error: 'Route not found' }));
}
res.setHeader('Content-Type', 'application/json');
handler(req, res);
});
server.listen(3000);
nodejs
Erklärung
1
const routes = new Map([
Erstellt eine Map zur Speicherung von HTTP-Methoden- und Pfadkombinationen verknüpft mit Handler-Funktionen.
2
const handler = routes.get(routeKey);
Ruft den entsprechenden Request-Handler basierend auf Methode und URL der eingehenden Anfrage ab.
3
if (!handler) {
Steuert den Ausführungsfluss bei fehlender Übereinstimmung und gibt eine 404-Antwort zurück.