Files
nodeMap/docs/pages/api.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.1 KiB
Raw Blame History

📘 API-Routen in /pages/api/

Dieses Dokument beschreibt die internen API-Routen der Anwendung (Next.js API Routes) und erklärt die verwendeten URL-Parameter sowie Konventionen bei der Nutzung im Backend.


🔗 Übergabeparameter aus TALAS.web

Beim Aufruf der Anwendung über TALAS.web werden die folgenden URL-Parameter übergeben:

Parameter Bedeutung Verwendung im Code
m Map-ID (idMap) req.query.m
u User-ID (idUser) req.query.u

⚠️ Es wird bewusst nicht idMap oder idUser verwendet, da TALAS mit Kurzparametern arbeitet.

Beispiel:

const idMap = req.query.m;
const idUser = req.query.u;

🛠 Zweck des Verzeichnisses /pages/api/

Alle Dateien in diesem Verzeichnis definieren serverseitige Endpunkte. Diese:

  • werden nur auf dem Server ausgeführt
  • sind über fetch('/api/...') vom Frontend aufrufbar
  • dienen als Proxy zu SOAP-Webservices oder Zugriff auf die Datenbank

📁 Beispiel: Aufruf eines Webservice

GET /api/gisSystemStatic?m=10&u=484

Dieser Request wird serverseitig weitergeleitet an:

http://[SERVER]/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=10&idUser=484

📄 Übersicht interner API-Routen

API-Route Beschreibung
/api/gisSystemStatic Proxy zu WebService GisSystemStatic
/api/gisStationsStaticDistrict Geräte-Liste inkl. Bereich
/api/gisStationsMeasurements Live-Messwerte der Geräte
/api/talas_v5_DB/pois/readLocations POIs aus der Datenbank (MySQL)
/api/talas_v5_DB/device/getAllStationsNames Gerätnamen aus DB

🔐 Sicherheitshinweis

  • Kein sensibler Parameter darf hart codiert sein
  • Alle Server-URLs werden über .env.local konfiguriert
  • Nur m und u aus req.query verwenden keine Fallbacks oder Defaults