Routen ·
Pydantic-Modelle ·
Dependency Injection ·
OpenAPI ·
async/await ·
Responses
FastAPI ist ein modernes, schnelles Webframework für APIs mit Python 3.8+. Es basiert auf Pydantic und bietet automatische OpenAPI-Dokumentation, Typüberprüfung und asynchrone Unterstützung.
Routen verbinden URLs mit Python-Funktionen. FastAPI unterstützt alle HTTP-Methoden (GET, POST, PUT, DELETE, etc.) und automatische Typüberprüfung für Parameter.
typing.Optional für optionale Parameter.
Pydantic-Modelle definieren die Struktur und Validierungsregeln für Anfragedaten. FastAPI nutzt sie automatisch für Request-Bodies, Query-Parameter und Responses.
response_model in Ihren Decoratoren, um die Ausgabe zu filtern und zu validieren – das hält Ihre API sauber und typsicher.
Dependency Injection ermöglicht die Wiederverwendung von Logik (z.B. Datenbankverbindungen, Authentifizierung) und die saubere Trennung von Verantwortlichkeiten.
yield für Dependencies, die Ressourcen verwalten (z.B. Datenbankverbindungen). FastAPI sorgt automatisch für die Bereinigung.
OpenAPI wird automatisch aus Ihrem Code generiert. FastAPI bietet interaktive Dokumentation unter /docs (Swagger UI) und /redoc (ReDoc).
/docs ist ein mächtiges Tool – Sie können Endpunkte direkt testen und die OpenAPI-Spezifikation herunterladen.
Asynchrone Unterstützung ermöglicht es, I/O-gebundene Operationen (z.B. Datenbankabfragen, API-Aufrufe) effizient zu verarbeiten, ohne den Event-Loop zu blockieren.
async def für I/O-gebundene Operationen und def für CPU-gebundene Aufgaben – FastAPI leitet beides automatisch korrekt weiter.
Responses und Statuscodes steuern, was und wie die API antwortet – von JSON über HTML bis zu Dateien.
HTTPException für konsistente Fehlerbehandlung – FastAPI formatiert die Antwort automatisch als JSON mit detail-Feld.
@app.get
BaseModel
Depends
/docs
async
JSONResponse
@app.get("/") ·
class User(BaseModel): name: str ·
Depends(get_db)