67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# 📘 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 |