Update Vorgehensweise
parent
aa2c8a3ab4
commit
a64b4dd848
@ -56,12 +56,25 @@ Zusätzlich dazu wurden noch die Accidents und die Bikepoints aus der Live API g
|
|||||||
**Anmerkung:** Allgemein lässt sich sagen, dass die Datensätze und Exports sich in einem sehr schlechten Zustand befinden.
|
**Anmerkung:** Allgemein lässt sich sagen, dass die Datensätze und Exports sich in einem sehr schlechten Zustand befinden.
|
||||||
|
|
||||||
## API-Framework
|
## API-Framework
|
||||||
* FastAPI
|
Es war schnell klar, dass sich Python sehr gut für die Implementation einer so einfachen Endpunkt-Struktur bestens eignet. Die erste Implementation wurde mit [Flask](https://flask.palletsprojects.com/en/1.1.x/) durchgeführt. Allerdings muss hier sehr viel selbst implementiert werden.
|
||||||
* Nimmt einem viel ab
|
|
||||||
* Generiert Doc automatisch
|
[FastAPI](https://fastapi.tiangolo.com/) hingegen liefert ein komplettes Framework mit automatischer Generierung der Dokumentation. Auch das Parsen der URL Bestandteile, sowie das Serialisieren der Antwort geschieht vollkommen automatisch. Eingaben können über sog. Request-Filter vorgefiltert werden, um invalide Eingaben schnell zu erkennen.
|
||||||
* Bringt Webserver mit (gunicorn)
|
|
||||||
* Später nginx reverse proxy
|
Ein Beispiel für einen "Hello World" Endpoint sieht wie folgt aus.
|
||||||
* Python
|
```python
|
||||||
|
from fastapi import FastAPI
|
||||||
|
|
||||||
|
app = FastAPI()
|
||||||
|
|
||||||
|
@app.get("/")
|
||||||
|
def root():
|
||||||
|
return {"message": "Hello World"}
|
||||||
|
```
|
||||||
|
Der Output ist dann `{"message": "Hello World"}`
|
||||||
|
|
||||||
|
Die API kann dann über den eingebauten Gunicorn Server gestartet werden. Dieser wird dann später über einen Nginx Reverse-Proxy nach außen geöffnet.
|
||||||
|
|
||||||
|
Ein anderer Grund für die Nutzung von Python war jedoch auch die Interoperabilität mit SQLite, userer gewählten Datenbank-Engine. Python nutzt hierzu die C-Implementierung (lib-sqlite) von SQLite, was bestmögliche Performance bietet.
|
||||||
|
|
||||||
## Endpunkterklärung
|
## Endpunkterklärung
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user