# 🌐 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`](https://github.com/chimurai/http-proxy-middleware) - Dynamische Zielauswahl basierend auf Umgebungsvariable `NEXT_PUBLIC_API_PORT_MODE` --- ## Ziel-URL-Konfiguration ```js 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 ```js 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`