Files
nodeMap/docs/redux/api/fromWebService.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

2.4 KiB
Raw Blame History

📡 Webservices Redux Integration (/redux/api/fromWebService)

In diesem Verzeichnis befinden sich alle Webservice-Fetch-Funktionen für die Kommunikation mit TALAS.web über SOAP-Endpunkte.


Übergabe der Parameter über URL (m, u)

TALAS.web ruft die Kartenansicht in der Regel so auf:

http://[SERVER]:3000/?m=10&u=484

Daraus ergeben sich folgende Zuweisungen:

URL-Parameter Bedeutung Variable im Code
m idMap const idMap = params.get("m")
u idUser const idUser = params.get("u")

Beispiel:

const params = new URLSearchParams(window.location.search);
const idMap = params.get("m");
const idUser = params.get("u");

Änderung am 2025-05-15

Vorher wurden Default-Werte über .env.local als Fallback genutzt:

const idMap = params.get("idMap") || process.env.NEXT_PUBLIC_DEFAULT_ID_MAP || "12";

Das wurde entfernt, um folgende Ziele zu erreichen:

  • Keine fest eingetragenen Defaults im Browser sichtbar
  • Verbindlichkeit: TALAS.web übergibt die Werte immer korrekt via URL
  • 🔐 Sicherheit: Kein versehentliches Verwenden eines falschen Users
  • 🔍 Fehler leichter erkennbar (Parameter nicht gefunden = echter Fehler)

Hinweis zur Webservice-Konfiguration

Die Webservice-Basisadresse wird nicht mehr über .env.local gesteuert.

Stattdessen wird sie dynamisch im Client anhand des aktuellen Hostnamens bestimmt:

const baseUrl = `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`;

➡ Dadurch ist kein Rebuild mehr nötig bei IP-Wechseln oder Serverumzügen.
Die Build-Version kann auf jedem Server wiederverwendet werden.


Optional: Validierung einbauen

Falls gewünscht, kann ein expliziter Fehler ausgelöst werden:

if (!idMap || !idUser) {
  throw new Error("Fehlende URL-Parameter: idMap oder idUser");
}

Betroffene Dateien

Diese Änderung betrifft alle Funktionen in:

/redux/api/fromWebService/fetchGisStationsStatic.js
/redux/api/fromWebService/fetchGisStationsStaticDistrict.js
/redux/api/fromWebService/fetchGisStationsStatusDistrict.js
/redux/api/fromWebService/fetchGisStationsMeasurements.js
/redux/api/fromWebService/fetchGisSystemStatic.js

Diese Konvention stellt sicher, dass Webservices unabhängig von IP und Serverkonfiguration aufgerufen werden können.