Wie man mit FastAPI leistungsstarke API-Dienste erstellt

2/20/2026
4 min read

Wie man mit FastAPI leistungsstarke API-Dienste erstellt

FastAPI ist ein modernes, schnelles (effizientes) Web-Framework, das speziell für den Aufbau von APIs entwickelt wurde. Es basiert auf Python-Typanmerkungen und unterstützt asynchrone Programmierung, was Entwicklern ermöglicht, leistungsstarke, hochverfügbare und latenzarme API-Dienste zu erstellen. In diesem Artikel werden wir detailliert erläutern, wie man mit FastAPI leistungsstarke API-Dienste erstellt, und wir werden schrittweise vorgehen, um Ihnen zu helfen, den gesamten Prozess von der Einrichtung der Umgebung bis zur Bereitstellung zu realisieren.

Erster Schritt: Umgebung vorbereiten

Sie müssen sicherstellen, dass Python 3.6+ in Ihrer Entwicklungsumgebung installiert ist. Wenn es noch nicht installiert ist, können Sie die offizielle Python-Website besuchen, um es herunterzuladen und zu installieren.

FastAPI und Uvicorn installieren

FastAPI selbst bietet keinen Dienst an und benötigt einen ASGI-Server, um betrieben zu werden. Hier verwenden wir Uvicorn, einen leistungsstarken ASGI-Server. Sie können FastAPI und Uvicorn mit dem folgenden Befehl installieren:

pip install fastapi uvicorn

Zweiter Schritt: Grundlegende API erstellen

Lassen Sie uns eine einfache FastAPI-Anwendung erstellen.

Anwendungsdatei erstellen

Erstellen Sie in Ihrem Projektverzeichnis eine Python-Datei, z.B. main.py, und schreiben Sie den folgenden Code hinein:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Hello, World!"}

In diesem Code importieren wir zuerst FastAPI und erstellen eine app-Instanz. Dann definieren wir eine GET-Route, die beim Zugriff auf den Wurzelpfad / eine einfache JSON-Antwort zurückgibt.

Server starten

Starten Sie Ihren FastAPI-Server mit dem folgenden Befehl:

uvicorn main:app --reload
  • main: bezieht sich auf den Dateinamen ohne die .py-Erweiterung.
  • app: bezieht sich auf die FastAPI-Instanz.
  • --reload: Im Entwicklungsmodus wird der Server automatisch neu gestartet, wenn sich die Dateien ändern.

Dritter Schritt: Routen und Datenmodelle definieren

Um komplexe APIs zu erstellen, müssen Sie Pydantic verwenden, um Datenmodelle zu definieren.

Datenmodell erstellen

Fügen Sie in main.py den folgenden Inhalt hinzu:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float
    is_available: bool = True

Dieser Code verwendet Pydantic, um ein Datenmodell Item zu erstellen, das drei Attribute enthält: den Namen des Artikels, den Preis und die Verfügbarkeit.

Neue Route hinzufügen

Als nächstes können wir eine neue POST-Route definieren, um Daten vom Typ Item zu empfangen:

@app.post("/items/")
async def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

In dieser Route validiert FastAPI automatisch die eingehenden Daten und mappt sie auf das Item-Modell.

Vierter Schritt: Automatische Dokumentationserstellung

Einer der größten Vorteile von FastAPI ist die automatische Generierung von API-Dokumentationen. Sie können die Dokumentation unter den folgenden Adressen einsehen:

  • Swagger UI: http://127.0.0.1:8000/docs
  • ReDoc: http://127.0.0.1:8000/redoc

In diesen generierten Dokumenten können Sie die API interaktiv testen und das Anfrage- und Antwortformat jeder Route einsehen.

Fünfter Schritt: Authentifizierung hinzufügen

In der Praxis ist die Authentifizierung ein wichtiger Aspekt. Lassen Sie uns eine einfache rollenbasierte Authentifizierung hinzufügen.

Sicherheitsabhängigkeiten hinzufügen

Verwenden Sie die Depends-Methode von FastAPI und OAuth2PasswordBearer, um die Authentifizierung zu implementieren:

from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

async def fake_decode_token(token):
    return {"sub": token}

async def get_current_user(token: str = Depends(oauth2_scheme)):
    user = fake_decode_token(token)
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Ungültige Authentifizierungsdaten")
    return user

Routen schützen

Dann können Sie die Authentifizierung zu den Routen hinzufügen, die geschützt werden müssen:

@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
    return current_user

Sechster Schritt: FastAPI-Anwendung bereitstellen

Wenn Sie die Entwicklung abgeschlossen haben, müssen Sie möglicherweise die Anwendung auf einem Cloud-Server bereitstellen. Sie können Docker zur Bereitstellung verwenden.

Dockerfile erstellen

Erstellen Sie im Projektverzeichnis eine Datei mit dem Namen Dockerfile und geben Sie den folgenden Inhalt ein:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

COPY ./app /app

Docker-Image erstellen

Verwenden Sie den folgenden Befehl in Ihrem Terminal, um das Docker-Image zu erstellen:

docker build -t myfastapiapp .

Docker-Container ausführen

Führen Sie Ihre FastAPI-Anwendung aus:

docker run -d --name fastapi -p 80:80 myfastapiapp

Zusammenfassung

In diesem Artikel haben wir detailliert erläutert, wie man mit FastAPI leistungsstarke API-Dienste erstellt, von der Vorbereitung der Umgebung über die Erstellung grundlegender APIs, die Definition von Routen und Datenmodellen bis hin zur Hinzufügung von Authentifizierung und Bereitstellung. FastAPI bietet viele leistungsstarke Funktionen, die den Aufbau moderner APIs einfach und effizient machen. Sie können die offizielle Dokumentation besuchen, um weitere Funktionen und Merkmale zu erkunden. Wir hoffen, dass dieser Artikel Ihnen hilft, schneller mit FastAPI zu beginnen und Ihre Projektentwicklungseffizienz zu steigern!

Published in Technology

You Might Also Like