fix: Parameter "m" und "u" in Front- und Backend und Parameter idMap und idUser entfernen für Webservices
This commit is contained in:
67
docs/frontend/pages/api.md
Normal file
67
docs/frontend/pages/api.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# 📘 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:
|
||||
|
||||
```ts
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
@@ -8,12 +8,31 @@ In diesem Verzeichnis befinden sich alle Webservice-Fetch-Funktionen für die Ko
|
||||
|
||||
Jede Funktion liest `idMap` und `idUser` **ausschließlich aus der URL**, wie sie von TALAS.web übergeben werden.
|
||||
|
||||
Beispiel:
|
||||
---
|
||||
|
||||
## Übergabe der Parameter über URL (`m`, `u`)
|
||||
|
||||
TALAS.web ruft die Kartenansicht in der Regel so auf:
|
||||
|
||||
```
|
||||
http://localhost: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")` |
|
||||
|
||||
🔔 Achtung: Diese Kurzform (`m`, `u`) ist systembedingt durch TALAS.web vorgegeben und **soll nicht durch `idMap` oder `idUser` ersetzt werden**, da die Parameter sonst nicht erkannt werden.
|
||||
|
||||
### Beispiel:
|
||||
|
||||
```ts
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const idMap = params.get("idMap");
|
||||
const idUser = params.get("idUser");
|
||||
const idMap = params.get("m"); // statt "idMap"
|
||||
const idUser = params.get("u"); // statt "idUser"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user