- entfernt: NEXT_PUBLIC_SERVER_URL aus .env.local - verwendet jetzt API_PORT_MODE zur Zielermittlung (dev = :80) - neue technische Dokumentation unter /docs/server/pages/api/apiProxy.md - CHANGELOG.md und appVersion.js aktualisiert (1.1.77)
1.6 KiB
1.6 KiB
🌐 API Proxy – [...path].js
Zweck
Diese Datei (pages/api/[...path].js) dient als Catch-All Proxy
für externe Webservice-Aufrufe über die Next.js API-Routing-Struktur.
Sie leitet alle Anfragen unter /api/... an einen Zielserver weiter.
Technologie
Verwendet wird:
http-proxy-middleware- Dynamische Zielauswahl basierend auf Umgebungsvariable
NEXT_PUBLIC_API_PORT_MODE
Ziel-URL-Konfiguration
const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;
const target =
mode === "dev"
? "http://localhost:80"
: "http://localhost"; // oder z. B. http://10.10.0.13
➡ Dadurch entfällt die feste Konfiguration über NEXT_PUBLIC_SERVER_URL.
Beispiel: Weiterleitung
Request im Browser:
GET /api/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=12&idUser=484
→ wird weitergeleitet an:
http://localhost/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=12&idUser=484
Verwendete Einstellungen
export default createProxyMiddleware({
target,
changeOrigin: true,
pathRewrite: {
"^/api": "/", // entfernt /api aus dem Pfad
},
logLevel: "debug",
});
Vorteile
| Punkt | Nutzen |
|---|---|
| Keine doppelte API-Konfiguration | ✅ .env.local bereinigt |
| Wiederverwendbar & flexibel | ✅ funktioniert lokal & auf Servern |
Klar gekapselt in [...path].js |
✅ übersichtlich |
📄 Pfad: /docs/server/pages/api/apiProxy.md