Files
nodeMap/docs/pages/api/apiProxy.md
ISA b847b5d2c8 docs: Projektstruktur der Dokumentation an Quellcode angepasst
- Verzeichnisstruktur unter /docs spiegelt nun die tatsächliche Projektstruktur wider
- frontend/server-Trennung entfernt zugunsten von /docs/pages, /docs/redux, /docs/utils etc.
- Erhöht Wiederauffindbarkeit, Übersichtlichkeit und Entwicklerfreundlichkeit
2025-05-27 09:30:40 +02:00

1.6 KiB
Raw Blame History

🌐 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:


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