@ -37,7 +37,7 @@ FastAPI ist ein modernes, schnelles (hoch performantes) Webframework zur Erstell
Seine Schlüssel-Merkmale sind:
* **Schnell**: Sehr hohe Leistung, auf Augenhöhe mit **NodeJS** und **Go** (dank Starlette und Pydantic). [Eines der schnellsten verfügbaren Python-Frameworks](#performanz).
* **Schnell**: Sehr hohe Leistung, auf Augenhöhe mit **NodeJS** und **Go** (dank Starlette und Pydantic). [Eines der schnellsten verfügbaren Python-Frameworks](#performance).
* **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. *
* **Weniger Bugs**: Verringern Sie die von Menschen (Entwicklern) verursachten Fehler um etwa 40 %. *
* **Intuitiv**: Exzellente Editor-Unterstützung. <abbrtitle="auch bekannt als Autovervollständigung, Autocompletion, IntelliSense">Code-Vervollständigung</abbr> überall. Weniger Debuggen.
@ -48,7 +48,7 @@ Seine Schlüssel-Merkmale sind:
<small>* Schätzung basierend auf Tests in einem internen Entwicklungsteam, das Produktionsanwendungen erstellt.</small>
„_[...] Ich verwende **FastAPI** heutzutage sehr oft. [...] Ich habe tatsächlich vor, es für alle **ML-Dienste meines Teams bei Microsoft** zu verwenden. Einige davon werden in das Kernprodukt **Windows** und einige **Office**-Produkte integriert._“
@ -111,7 +111,7 @@ Seine Schlüssel-Merkmale sind:
---
## **Typer**, das FastAPI der CLIs
## <aid="typer-the-fastapi-of-clis"></a>**Typer**, das FastAPI der CLIs
@ -119,14 +119,14 @@ Wenn Sie eine <abbr title="Command Line Interface – Kommandozeilen-Schnittstel
**Typer** ist die kleine Schwester von FastAPI. Und es soll das **FastAPI der CLIs** sein. ⌨️ 🚀
## Anforderungen
## <aid="requirements"></a>Anforderungen
FastAPI steht auf den Schultern von Giganten:
* <ahref="https://www.starlette.io/"class="external-link"target="_blank">Starlette</a> für die Webanteile.
* <ahref="https://docs.pydantic.dev/"class="external-link"target="_blank">Pydantic</a> für die Datenanteile.
## Installation
## <aid="installation"></a>Installation
Erstellen und aktivieren Sie eine <ahref="https://fastapi.tiangolo.com/virtual-environments/"class="external-link"target="_blank">virtuelle Umgebung</a> und installieren Sie dann FastAPI:
**Hinweis**: Stellen Sie sicher, dass Sie `"fastapi[standard]"` in Anführungszeichen setzen, damit es in allen Terminals funktioniert.
## Beispiel
## <aid="example"></a>Beispiel
### Erstellung
### <aid="create-it"></a>Erstellung
Erstellen Sie eine Datei `main.py` mit dem folgenden Inhalt:
@ -195,7 +195,7 @@ Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _„In Eile?“_ über
</details>
### Starten
### <aid="run-it"></a>Starten
Starten Sie den Server mit:
@ -237,7 +237,7 @@ Sie können mehr darüber in der <a href="https://fastapi.tiangolo.com/fastapi-c
</details>
### Überprüfen
### <aid="check-it"></a>Überprüfen
Öffnen Sie Ihren Browser unter <ahref="http://127.0.0.1:8000/items/5?q=somequery"class="external-link"target="_blank">http://127.0.0.1:8000/items/5?q=somequery</a>.
@ -254,7 +254,7 @@ Sie haben bereits eine API erstellt, welche:
* Der _Pfad_`/items/{item_id}` hat einen _Pfadparameter_`item_id`, der ein `int` sein sollte.
* Der _Pfad_`/items/{item_id}` hat einen optionalen `str`_Query Parameter_`q`.
Ändern Sie jetzt die Datei `main.py`, um den <abbrtitle="Body – Körper, Inhalt: Der eigentliche Inhalt einer Nachricht, nicht die Metadaten">Body</abbr> einer `PUT`-Anfrage zu empfangen.
Zusammengefasst deklarieren Sie **einmal** die Typen von Parametern, Body, etc. als Funktionsparameter.
@ -444,17 +444,17 @@ Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das <a href="
* **Cookie Sessions**
* ... und mehr.
## Performanz
## <aid="performance"></a>Performanz
Unabhängige TechEmpower-Benchmarks zeigen **FastAPI**-Anwendungen, die unter Uvicorn laufen, als <ahref="https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7"class="external-link"target="_blank">eines der schnellsten verfügbaren Python-Frameworks</a>, nur hinter Starlette und Uvicorn selbst (intern von FastAPI verwendet). (*)
Um mehr darüber zu erfahren, siehe den Abschnitt <ahref="https://fastapi.tiangolo.com/benchmarks/"class="internal-link"target="_blank">Benchmarks</a>.
Wenn Sie FastAPI mit `pip install "fastapi[standard]"` installieren, kommt es mit der `standard` Gruppe von optionalen Abhängigkeiten:
@ -474,15 +474,15 @@ Wird von FastAPI verwendet:
* `fastapi-cli[standard]` - um den `fastapi` Befehl bereitzustellen.
* Dies beinhaltet `fastapi-cloud-cli`, das es Ihnen ermöglicht, Ihre FastAPI-Anwendung auf <ahref="https://fastapicloud.com"class="external-link"target="_blank">FastAPI Cloud</a> bereitzustellen.
Wenn Sie die `standard` optionalen Abhängigkeiten nicht einschließen möchten, können Sie mit `pip install fastapi` statt `pip install "fastapi[standard]"` installieren.
Wenn Sie FastAPI mit den Standardabhängigkeiten, aber ohne das `fastapi-cloud-cli` installieren möchten, können Sie mit `pip install "fastapi[standard-no-fastapi-cloud-cli]"` installieren.