FastAPI – asynchrones Framework für APIs

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist FastAPI?

FastAPI ist ein modernes, hochperformantes Web-Framework zur Erstellung von APIs in Python. Entwickelt von Sebastián Ramírez, basiert dieses Framework auf den Standards OpenAPI und JSON Schema, was eine automatische Dokumentationsgenerierung und Datentypisierung ermöglicht.

FastAPI nutzt die neuesten Python-Funktionen, darunter Type Hints und asynchrone Programmierung, und zählt damit zu den schnellsten Python-Frameworks für die API-Entwicklung. In puncto Performance ist es mit Node.js und Go vergleichbar – ideal für hochskalierbare Anwendungen.

Schlüsselfunktionen von FastAPI

Hohe Leistung

FastAPI basiert auf Starlette für den Web-Teil und Pydantic für die Datenvalidierung. Dies sorgt für eine Performance auf dem Niveau der schnellsten Python-Frameworks. Das Framework unterstützt vollständig ASGI (Asynchronous Server Gateway Interface) und ermöglicht die Verarbeitung tausender gleichzeitiger Verbindungen.

Automatische API-Dokumentation

Eine der Hauptstärken von FastAPI ist die automatische Generierung interaktiver API-Dokumentation. Das Framework erstellt Dokumentation im OpenAPI-Format (Swagger) und bietet zwei Oberflächen:

  • Swagger UI – verfügbar unter /docs
  • ReDoc – verfügbar unter /redoc

Volle Typunterstützung

FastAPI verwendet standardmäßige Python-Typannotationen für Datenvalidierung, Serialisierung und automatische Dokumentation. Das ermöglicht eine hervorragende Autovervollständigung in der IDE und reduziert Fehler während der Entwicklung.

Integrierte Datenvalidierung

Dank der Integration mit Pydantic validiert FastAPI eingehende Daten automatisch, konvertiert Typen und gibt verständliche Fehlermeldungen zurück. Das vereinfacht die Entwicklung erheblich und erhöht die Zuverlässigkeit der Anwendungen.

Asynchrone Programmierung von Haus aus

FastAPI unterstützt vollständig asynchrone Programmierung mit async/await. So lassen sich hochperformante Anwendungen erstellen, die viele gleichzeitige Anfragen verarbeiten können.

Installation und grundlegende Einrichtung

FastAPI installieren

Verwende den folgenden Befehl, um FastAPI und alle benötigten Abhängigkeiten zu installieren:

pip install fastapi[all]

Dieser Befehl installiert FastAPI zusammen mit Uvicorn (ASGI-Server) und weiteren nützlichen Abhängigkeiten.

Für eine minimale Installation verwende:

pip install fastapi
pip install uvicorn[standard]

Erste Anwendung erstellen

Erstelle eine Datei main.py mit einer Basis-Anwendung:

from fastapi import FastAPI

app = FastAPI(
    title="Mein FastAPI-Projekt",
    description="Dies ist eine Beispiel-FastAPI-Anwendung",
    version="1.0.0"
)

@app.get("/")
async def root():
    return {"message": "Willkommen bei FastAPI!"}

@app.get("/health")
async def health_check():
    return {"status": "ok"}

Anwendung starten

Starte den Entwicklungsserver mit Uvicorn:

uvicorn main:app --reload --host 0.0.0.0 --port 8000

Startparameter im Detail:

  • --reload – automatischer Neustart bei Code-Änderungen
  • --host 0.0.0.0 – Verbindungen von allen IP-Adressen akzeptieren
  • --port 8000 – Port für den Serverstart

Arbeiten mit HTTP-Methoden

FastAPI unterstützt alle standardmäßigen HTTP-Methoden über entsprechende Decorators:

GET-Anfragen

@app.get("/items/{item_id}")
async def get_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

@app.get("/items/")
async def get_items(skip: int = 0,                    

Empfehlungen