]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Update translations for de (update-outdated) (#15759)
authorSebastián Ramírez <tiangolo@gmail.com>
Mon, 15 Jun 2026 21:24:43 +0000 (23:24 +0200)
committerGitHub <noreply@github.com>
Mon, 15 Jun 2026 21:24:43 +0000 (23:24 +0200)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <109919500+YuriiMotov@users.noreply.github.com>
53 files changed:
docs/de/docs/advanced/additional-responses.md
docs/de/docs/advanced/advanced-dependencies.md
docs/de/docs/advanced/custom-response.md
docs/de/docs/advanced/dataclasses.md
docs/de/docs/advanced/events.md
docs/de/docs/advanced/generate-clients.md
docs/de/docs/advanced/openapi-callbacks.md
docs/de/docs/advanced/openapi-webhooks.md
docs/de/docs/advanced/path-operation-advanced-configuration.md
docs/de/docs/advanced/response-directly.md
docs/de/docs/advanced/security/oauth2-scopes.md
docs/de/docs/advanced/stream-data.md
docs/de/docs/advanced/strict-content-type.md
docs/de/docs/advanced/websockets.md
docs/de/docs/advanced/wsgi.md
docs/de/docs/deployment/docker.md
docs/de/docs/deployment/fastapicloud.md
docs/de/docs/deployment/manually.md
docs/de/docs/deployment/server-workers.md
docs/de/docs/how-to/extending-openapi.md
docs/de/docs/how-to/separate-openapi-schemas.md
docs/de/docs/index.md
docs/de/docs/tutorial/bigger-applications.md
docs/de/docs/tutorial/body-multiple-params.md
docs/de/docs/tutorial/body-nested-models.md
docs/de/docs/tutorial/body.md
docs/de/docs/tutorial/cookie-param-models.md
docs/de/docs/tutorial/cookie-params.md
docs/de/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
docs/de/docs/tutorial/dependencies/dependencies-with-yield.md
docs/de/docs/tutorial/dependencies/index.md
docs/de/docs/tutorial/dependencies/sub-dependencies.md
docs/de/docs/tutorial/first-steps.md
docs/de/docs/tutorial/metadata.md
docs/de/docs/tutorial/path-operation-configuration.md
docs/de/docs/tutorial/path-params-numeric-validations.md
docs/de/docs/tutorial/path-params.md
docs/de/docs/tutorial/query-params-str-validations.md
docs/de/docs/tutorial/query-params.md
docs/de/docs/tutorial/request-files.md
docs/de/docs/tutorial/request-form-models.md
docs/de/docs/tutorial/request-forms-and-files.md
docs/de/docs/tutorial/request-forms.md
docs/de/docs/tutorial/response-model.md
docs/de/docs/tutorial/response-status-code.md
docs/de/docs/tutorial/schema-extra-example.md
docs/de/docs/tutorial/security/first-steps.md
docs/de/docs/tutorial/security/get-current-user.md
docs/de/docs/tutorial/security/oauth2-jwt.md
docs/de/docs/tutorial/security/simple-oauth2.md
docs/de/docs/tutorial/server-sent-events.md
docs/de/docs/tutorial/stream-json-lines.md
docs/de/docs/tutorial/testing.md

index bc7c477c86998fd95986ffac3f6b2d0bbb3a059e..f2214713bc6a24659457da2f075a7477f0d9215f 100644 (file)
@@ -34,7 +34,7 @@ Beachten Sie, dass Sie die `JSONResponse` direkt zurückgeben müssen.
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 Der `model`-Schlüssel ist nicht Teil von OpenAPI.
 
@@ -183,7 +183,7 @@ Beachten Sie, dass Sie das Bild direkt mit einer `FileResponse` zurückgeben mü
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 Sofern Sie in Ihrem Parameter `responses` nicht explizit einen anderen Medientyp angeben, geht FastAPI davon aus, dass die Response denselben Medientyp wie die Haupt-Response-Klasse hat (Standardmäßig `application/json`).
 
index ab2cab0713af58bd5784ca5a783fd59f31592418..580a9a874d2566c822661b6e6eebac0d46f66782 100644 (file)
@@ -98,7 +98,7 @@ Wenn Sie beispielsweise eine Datenbanksession in einer Abhängigkeit mit `yield`
 
 Dieses Verhalten wurde in 0.118.0 zurückgenommen, sodass der Exit-Code nach `yield` ausgeführt wird, nachdem die Response gesendet wurde.
 
-/// info | Info
+/// note | Hinweis
 
 Wie Sie unten sehen werden, ähnelt dies sehr dem Verhalten vor Version 0.106.0, jedoch mit mehreren Verbesserungen und Bugfixes für Sonderfälle.
 
index 9a11089ad6120350bc47869aa04c23080e20d1ae..377c7f569dadb7e19e1cdf6e719fa3ef4db6931f 100644 (file)
@@ -41,7 +41,7 @@ Um eine Response mit HTML direkt von **FastAPI** zurückzugeben, verwenden Sie `
 
 {* ../../docs_src/custom_response/tutorial002_py310.py hl[2,7] *}
 
-/// info | Info
+/// note | Hinweis
 
 Der Parameter `response_class` wird auch verwendet, um den „Medientyp“ der Response zu definieren.
 
@@ -65,7 +65,7 @@ Eine `Response`, die direkt von Ihrer *Pfadoperation-Funktion* zurückgegeben wi
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 Natürlich stammen der eigentliche `Content-Type`-Header, der Statuscode, usw., aus dem `Response`-Objekt, das Sie zurückgegeben haben.
 
@@ -158,6 +158,7 @@ Sie können eine `RedirectResponse` direkt zurückgeben:
 
 Oder Sie können sie im Parameter `response_class` verwenden:
 
+
 {* ../../docs_src/custom_response/tutorial006b_py310.py hl[2,7,9] *}
 
 Wenn Sie das tun, können Sie die URL direkt von Ihrer *Pfadoperation*-Funktion zurückgeben.
index 743aea6999769fef6952092c7f559a516d35d39c..ed8f13e726688a7ea88ca08cb855ab8fac1de4b5 100644 (file)
@@ -18,7 +18,7 @@ Und natürlich wird das gleiche unterstützt:
 
 Das funktioniert genauso wie mit Pydantic-Modellen. Und tatsächlich wird es unter der Haube mittels Pydantic auf die gleiche Weise bewerkstelligt.
 
-/// info | Info
+/// note | Hinweis
 
 Bedenken Sie, dass Datenklassen nicht alles können, was Pydantic-Modelle können.
 
index ea04e3ebdeed7f6049278e297fc5ac72289ec29f..7e2def32d22823d472e359192a2b1a8bffcf1c95 100644 (file)
@@ -120,7 +120,7 @@ Um eine Funktion hinzuzufügen, die beim Shutdown der Anwendung ausgeführt werd
 
 Hier schreibt die `shutdown`-Eventhandler-Funktion eine Textzeile `"Application shutdown"` in eine Datei `log.txt`.
 
-/// info | Info
+/// note | Hinweis
 
 In der Funktion `open()` bedeutet `mode="a"` „append“ („anhängen“), sodass die Zeile nach dem, was sich in dieser Datei befindet, hinzugefügt wird, ohne den vorherigen Inhalt zu überschreiben.
 
@@ -152,7 +152,7 @@ Nur ein technisches Detail für die neugierigen Nerds. 🤓
 
 In der technischen ASGI-Spezifikation ist dies Teil des [Lifespan Protokolls](https://asgi.readthedocs.io/en/latest/specs/lifespan.html) und definiert Events namens `startup` und `shutdown`.
 
-/// info | Info
+/// note | Hinweis
 
 Weitere Informationen zu Starlettes `lifespan`-Handlern finden Sie in [Starlettes Lifespan-Dokumentation](https://www.starlette.dev/lifespan/).
 
index 4eab5bcb6f0f4ab8433e9d6058f14d8bba82bb61..7c418226a9b5c5800ec2041c2a0387ec85ca1df2 100644 (file)
@@ -31,7 +31,6 @@ Ihr Sponsoring zeigt auch ein starkes Engagement für die FastAPI-**Community**
 Zum Beispiel könnten Sie ausprobieren:
 
 * [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral)
-* [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi)
 
 Einige dieser Lösungen sind möglicherweise auch Open Source oder bieten kostenlose Tarife an, sodass Sie diese ohne finanzielle Verpflichtung ausprobieren können. Andere kommerzielle SDK-Generatoren sind online verfügbar und können dort gefunden werden. 🤓
 
index 0d2471489a756dbbc96e73dd2904638b02541a39..989f8a1b0bc4218b32b7f4741f32e5ce0841dd26 100644 (file)
@@ -173,7 +173,7 @@ Verwenden Sie nun den Parameter `callbacks` im *Pfadoperation-Dekorator Ihrer AP
 
 /// tip | Tipp
 
-Beachten Sie, dass Sie nicht den Router selbst (`invoices_callback_router`) an `callback=` übergeben, sondern das Attribut `.routes`, wie in `invoices_callback_router.routes`.
+Beachten Sie, dass Sie nicht den Router selbst (`invoices_callback_router`) an `callback=` übergeben, sondern das Attribut `.routes`, wie in `invoices_callback_router.routes`. FastAPI wird diese Routen verwenden, um die Callback-OpenAPI-Dokumentation zu generieren.
 
 ///
 
index e6984de74f5d91c006cbb82e49b4ebcfc28af4a2..fbec6996a5aee93fef6b86bb56ee41c0ab501490 100644 (file)
@@ -22,7 +22,7 @@ Mit **FastAPI**, mithilfe von OpenAPI, können Sie die Namen dieser Webhooks, di
 
 Dies kann es Ihren Benutzern viel einfacher machen, **deren APIs zu implementieren**, um Ihre **Webhook**-Requests zu empfangen. Möglicherweise können diese sogar einen Teil ihres eigenen API-Codes automatisch generieren.
 
-/// info | Info
+/// note | Hinweis
 
 Webhooks sind in OpenAPI 3.1.0 und höher verfügbar und werden von FastAPI `0.99.0` und höher unterstützt.
 
@@ -36,7 +36,7 @@ Wenn Sie eine **FastAPI**-Anwendung erstellen, gibt es ein `webhooks`-Attribut,
 
 Die von Ihnen definierten Webhooks landen im **OpenAPI**-Schema und der automatischen **Dokumentations-Oberfläche**.
 
-/// info | Info
+/// note | Hinweis
 
 Das `app.webhooks`-Objekt ist eigentlich nur ein `APIRouter`, derselbe Typ, den Sie verwenden würden, wenn Sie Ihre App mit mehreren Dateien strukturieren.
 
index e6ff498eb94d853a24db3e412a121ca99d5dddf2..6899a582a71c868c5ce7421d76dd2bc4c6d2015d 100644 (file)
@@ -16,17 +16,11 @@ Sie müssten sicherstellen, dass sie für jede Operation eindeutig ist.
 
 ### Verwendung des Namens der *Pfadoperation-Funktion* als operationId { #using-the-path-operation-function-name-as-the-operationid }
 
-Wenn Sie die Funktionsnamen Ihrer API als `operationId`s verwenden möchten, können Sie über alle iterieren und die `operation_id` jeder *Pfadoperation* mit deren `APIRoute.name` überschreiben.
+Wenn Sie die Funktionsnamen Ihrer APIs als `operationId`s verwenden möchten, können Sie `FastAPI` eine eigene `generate_unique_id_function` übergeben.
 
-Sie sollten dies tun, nachdem Sie alle Ihre *Pfadoperationen* hinzugefügt haben.
+Diese Funktion erhält jeweils die `APIRoute` und gibt die `operationId` zurück, die für diese Pfadoperation verwendet werden soll.
 
-{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2, 12:21, 24] *}
-
-/// tip | Tipp
-
-Wenn Sie `app.openapi()` manuell aufrufen, sollten Sie vorher die `operationId`s aktualisiert haben.
-
-///
+{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2,5:6,9] *}
 
 /// warning | Achtung
 
index 4235e8db0b74167187bd40e7195a5ca70944303b..fb5db473ce66452370bfa1092bbff5b6e237a65b 100644 (file)
@@ -16,9 +16,9 @@ Normalerweise erzielen Sie eine deutlich bessere Leistung, wenn Sie ein [Respons
 
 ## Eine `Response` zurückgeben { #return-a-response }
 
-Tatsächlich können Sie jede `Response` oder jede Unterklasse davon zurückgeben.
+Sie können eine `Response` oder jede Unterklasse davon zurückgeben.
 
-/// info | Info
+/// note | Hinweis
 
 `JSONResponse` selbst ist eine Unterklasse von `Response`.
 
index a903fbeb96283885008cf6f4851a1ec1dd9ebb7c..6a459524c887fd294cd558e0ac5b87a95a442835 100644 (file)
@@ -18,7 +18,7 @@ Sie benötigen nicht unbedingt OAuth2-Scopes, und Sie können die Authentifizier
 
 Aber OAuth2 mit Scopes kann bequem in Ihre API (mit OpenAPI) und deren API-Dokumentation integriert werden.
 
-Dennoch, verwenden Sie solche Scopes oder andere Sicherheits-/Autorisierungsanforderungen in Ihrem Code so wie Sie es möchten.
+Dennoch erzwingen Sie solche Scopes oder andere Sicherheits-/Autorisierungsanforderungen in Ihrem Code so, wie Sie es benötigen.
 
 In vielen Fällen kann OAuth2 mit Scopes ein Overkill sein.
 
@@ -46,7 +46,7 @@ Er wird normalerweise verwendet, um bestimmte Sicherheitsberechtigungen zu dekla
 * `instagram_basic` wird von Facebook / Instagram verwendet.
 * `https://www.googleapis.com/auth/drive` wird von Google verwendet.
 
-/// info | Info
+/// note | Hinweis
 
 In OAuth2 ist ein „Scope“ nur ein String, der eine bestimmte erforderliche Berechtigung deklariert.
 
@@ -126,7 +126,7 @@ Wir tun dies hier, um zu demonstrieren, wie **FastAPI** auf verschiedenen Ebenen
 
 {* ../../docs_src/security/tutorial005_an_py310.py hl[5,141,172] *}
 
-/// info | Technische Details
+/// note | Technische Details
 
 `Security` ist tatsächlich eine Unterklasse von `Depends` und hat nur noch einen zusätzlichen Parameter, den wir später kennenlernen werden.
 
index 7cff1d47e6a593047d34c0e34d8b99d90f32a656..500970029e24d19e9ddf3d31e9db250e76323cdd 100644 (file)
@@ -4,7 +4,7 @@ Wenn Sie Daten streamen möchten, die als JSON strukturiert werden können, soll
 
 Wenn Sie jedoch **reine Binärdaten** oder Strings streamen möchten, so können Sie es machen.
 
-/// info | Info
+/// note | Hinweis
 
 Hinzugefügt in FastAPI 0.134.0.
 
@@ -90,7 +90,7 @@ Beispielsweise haben sie kein `await file.read()` oder `async for chunk in file`
 
 Und in vielen Fällen wäre das Lesen eine blockierende Operation (die die Event-Loop blockieren könnte), weil von der Festplatte oder aus dem Netzwerk gelesen wird.
 
-/// info | Info
+/// note | Hinweis
 
 Das obige Beispiel ist tatsächlich eine Ausnahme, weil sich das `io.BytesIO`-Objekt bereits im Speicher befindet, daher blockiert sein Lesen nichts.
 
index 2fcfa3e09fa92b7dbfc893c4a89681fd7dff148f..db9ab9f24210e21326a77dc6cef6321dd9429ba2 100644 (file)
@@ -81,7 +81,7 @@ Wenn Sie Clients unterstützen müssen, die keinen `Content-Type`-Header senden,
 
 Mit dieser Einstellung werden Requests ohne `Content-Type`-Header im Body als JSON geparst. Das entspricht dem Verhalten älterer FastAPI-Versionen.
 
-/// info | Info
+/// note | Hinweis
 
 Dieses Verhalten und diese Konfiguration wurden in FastAPI 0.132.0 hinzugefügt.
 
index c96cfb28b44edbd9b9e126d06f365d69114ce902..a0f3a1f3322229f8bdfe8efb38525a550a67125a 100644 (file)
@@ -111,7 +111,7 @@ Diese funktionieren auf die gleiche Weise wie für andere FastAPI-Endpunkte/*Pfa
 
 {* ../../docs_src/websockets_/tutorial002_an_py310.py hl[68:69,82] *}
 
-/// info | Info
+/// note | Hinweis
 
 Da es sich um einen WebSocket handelt, macht es keinen Sinn, eine `HTTPException` auszulösen, stattdessen lösen wir eine `WebSocketException` aus.
 
index 89e513dc08e6b64e73ca7a70525af0b1c08b188b..19d0028866d3251057153ec0ef806463ea493273 100644 (file)
@@ -6,7 +6,7 @@ Dazu können Sie die `WSGIMiddleware` verwenden und damit Ihre WSGI-Anwendung wr
 
 ## `WSGIMiddleware` verwenden { #using-wsgimiddleware }
 
-/// info | Info
+/// note | Hinweis
 
 Dafür muss `a2wsgi` installiert sein, z. B. mit `pip install a2wsgi`.
 
index ee230d5d135622185b55874c312c3f4c988a9064..db249f74fe82108b0830a38c6ac67a6d33b0d1f4 100644 (file)
@@ -132,7 +132,7 @@ Successfully installed fastapi pydantic
 
 </div>
 
-/// info | Info
+/// note | Hinweis
 
 Es gibt andere Formate und Tools zum Definieren und Installieren von Paketabhängigkeiten.
 
@@ -334,7 +334,7 @@ $ docker build -t myimage .
 
 Beachten Sie das `.` am Ende, es entspricht `./` und teilt Docker mit, welches Verzeichnis zum Erstellen des Containerimages verwendet werden soll.
 
-In diesem Fall handelt es sich um dasselbe aktuelle Verzeichnis (`.`).
+In diesem Case handelt es sich um dasselbe aktuelle Verzeichnis (`.`).
 
 ///
 
@@ -556,7 +556,7 @@ Wenn Sie Container (z. B. Docker, Kubernetes) verwenden, können Sie hauptsächl
 
 Wenn Sie **mehrere Container** haben, von denen wahrscheinlich jeder einen **einzelnen Prozess** ausführt (z. B. in einem **Kubernetes**-Cluster), dann möchten Sie wahrscheinlich einen **separaten Container** haben, welcher die Arbeit der **Vorab-Schritte** in einem einzelnen Container, mit einem einzelnen Prozess ausführt, **bevor** die replizierten Workercontainer ausgeführt werden.
 
-/// info | Info
+/// note | Hinweis
 
 Wenn Sie Kubernetes verwenden, wäre dies wahrscheinlich ein [Init-Container](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/).
 
index c77826aafc9a79d3d8974902c9491d6540bf556b..d563fd82233492b5b52fe8a69e245e64a64aa4ab 100644 (file)
@@ -1,26 +1,6 @@
 # FastAPI Cloud { #fastapi-cloud }
 
-Sie können Ihre FastAPI-App in der [FastAPI Cloud](https://fastapicloud.com) mit **einem einzigen Befehl** deployen – tragen Sie sich in die Warteliste ein, falls noch nicht geschehen. 🚀
-
-## Anmelden { #login }
-
-Stellen Sie sicher, dass Sie bereits ein **FastAPI-Cloud-Konto** haben (wir haben Sie von der Warteliste eingeladen 😉).
-
-Melden Sie sich dann an:
-
-<div class="termy">
-
-```console
-$ fastapi login
-
-You are logged in to FastAPI Cloud 🚀
-```
-
-</div>
-
-## Deployen { #deploy }
-
-Stellen Sie Ihre App jetzt mit **einem einzigen Befehl** bereit:
+Sie können Ihre FastAPI-App in der [FastAPI Cloud](https://fastapicloud.com) mit **einem einzigen Befehl** deployen. 🚀
 
 <div class="termy">
 
@@ -36,6 +16,8 @@ Deploying to FastAPI Cloud...
 
 </div>
 
+Das CLI erkennt Ihre FastAPI-App automatisch und deployt sie in die Cloud. Wenn Sie nicht angemeldet sind, öffnet sich Ihr Browser, um den Authentifizierungsprozess abzuschließen.
+
 Das war’s! Jetzt können Sie Ihre App unter dieser URL aufrufen. ✨
 
 ## Über FastAPI Cloud { #about-fastapi-cloud }
@@ -62,4 +44,4 @@ Folgen Sie den Anleitungen Ihres Cloudanbieters, um dort FastAPI-Apps zu deploye
 
 ## Auf den eigenen Server deployen { #deploy-your-own-server }
 
-Ich werde Ihnen später in diesem **Deployment-Leitfaden** auch alle Details zeigen, sodass Sie verstehen, was passiert, was geschehen muss und wie Sie FastAPI-Apps selbst deployen können, auch auf Ihre eigenen Server. 🤓
+Ich werde Ihnen später in diesem **Deployment**-Leitfaden auch alle Details zeigen, sodass Sie verstehen, was passiert, was geschehen muss und wie Sie FastAPI-Apps selbst deployen können, auch auf Ihre eigenen Server. 🤓
index 53fe230e5671b8cadffd4453b04f7bab85662377..eae850a6967560b5ad735d5e55a9c1ad8ed87231 100644 (file)
@@ -56,7 +56,6 @@ Es gibt mehrere Alternativen, einschließlich:
 * [Hypercorn](https://hypercorn.readthedocs.io/): ein ASGI-Server, der unter anderem kompatibel mit HTTP/2 und Trio ist.
 * [Daphne](https://github.com/django/daphne): der für Django Channels entwickelte ASGI-Server.
 * [Granian](https://github.com/emmett-framework/granian): Ein Rust HTTP-Server für Python-Anwendungen.
-* [NGINX Unit](https://unit.nginx.org/howto/fastapi/): NGINX Unit ist eine leichte und vielseitige Laufzeitumgebung für Webanwendungen.
 
 ## Servermaschine und Serverprogramm { #server-machine-and-server-program }
 
index 27ae53f7dad547974b2d9dd9fd2d7ea48f041f20..6b0cc834edd0155f263eda3123b1170a73e45c2e 100644 (file)
@@ -17,7 +17,7 @@ Wie Sie im vorherigen Kapitel über [Deployment-Konzepte](concepts.md) gesehen h
 
 Hier zeige ich Ihnen, wie Sie **Uvicorn** mit **Workerprozessen** verwenden, indem Sie den `fastapi`-Befehl oder den `uvicorn`-Befehl direkt verwenden.
 
-/// info | Info
+/// note | Hinweis
 
 Wenn Sie Container verwenden, beispielsweise mit Docker oder Kubernetes, erzähle ich Ihnen mehr darüber im nächsten Kapitel: [FastAPI in Containern – Docker](docker.md).
 
index 8005344c8d9fc8b7e69055503b793144967abd88..23824117edec072725e5a631ddc2ffe5d6459d76 100644 (file)
@@ -25,9 +25,17 @@ Diese Funktion `get_openapi()` erhält als Parameter:
 * `openapi_version`: Die Version der verwendeten OpenAPI-Spezifikation. Standardmäßig die neueste Version: `3.1.0`.
 * `summary`: Eine kurze Zusammenfassung der API.
 * `description`: Die Beschreibung Ihrer API. Dies kann Markdown enthalten und wird in der Dokumentation angezeigt.
-* `routes`: Eine Liste von Routen, dies sind alle registrierten *Pfadoperationen*. Sie stammen von `app.routes`.
+* `routes`: Die Routen der Anwendung, entnommen aus `app.routes`. FastAPI nutzt sie, um die registrierten *Pfadoperationen* zu sammeln, einschließlich derer aus eingebundenen Routern.
 
-/// info | Info
+/// tip | Technische Details
+
+`app.routes` ist eine Routenstruktur auf niedrigerer Ebene. Sie kann Routenkandidaten enthalten, die FastAPI intern für eingebundene Router verwendet, nicht nur endgültige `APIRoute`-Objekte.
+
+Sie können dennoch `app.routes` an `get_openapi()` übergeben. FastAPI durchläuft diesen Routenbaum, um die tatsächlich wirksamen Pfadoperationen zu sammeln.
+
+///
+
+/// note | Hinweis
 
 Der Parameter `summary` ist in OpenAPI 3.1.0 und höher verfügbar und wird von FastAPI 0.99.0 und höher unterstützt.
 
index 16f9c8a144c0f4187a8f8cd22a87dbb70fc16acf..3752ffb10132ff319a44e15b6ea55df18300b791 100644 (file)
@@ -85,7 +85,7 @@ Der Hauptanwendungsfall hierfür besteht wahrscheinlich darin, dass Sie das mal
 
 In diesem Fall können Sie diese Funktion in **FastAPI** mit dem Parameter `separate_input_output_schemas=False` deaktivieren.
 
-/// info | Info
+/// note | Hinweis
 
 Unterstützung für `separate_input_output_schemas` wurde in FastAPI `0.102.0` hinzugefügt. 🤓
 
index d557554a121826f618cf64ed7955bda6787f2d66..32fe63ca84d08edba899f42fe93b78dd990a8060 100644 (file)
@@ -192,7 +192,7 @@ $ pip install "fastapi[standard]"
 
 </div>
 
-**Hinweis**: Stellen Sie sicher, dass Sie `"fastapi[standard]"` in Anführungszeichen setzen, damit es in allen Terminals funktioniert.
+**Hinweis**: Stellen Sie sicher, dass Sie „fastapi[standard]“ in Anführungszeichen setzen, damit es in allen Terminals funktioniert.
 
 ## Beispiel { #example }
 
@@ -492,9 +492,7 @@ Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das <a href="
 
 ### Ihre App deployen (optional) { #deploy-your-app-optional }
 
-Optional können Sie Ihre FastAPI-App in die [FastAPI Cloud](https://fastapicloud.com) deployen, gehen Sie und treten Sie der Warteliste bei, falls noch nicht geschehen. 🚀
-
-Wenn Sie bereits ein **FastAPI Cloud**-Konto haben (wir haben Sie von der Warteliste eingeladen 😉), können Sie Ihre Anwendung mit einem einzigen Befehl deployen.
+Optional können Sie Ihre FastAPI-App mit einem einzigen Befehl in die [FastAPI Cloud](https://fastapicloud.com) deployen. 🚀
 
 <div class="termy">
 
@@ -510,6 +508,8 @@ Deploying to FastAPI Cloud...
 
 </div>
 
+Das CLI erkennt Ihre FastAPI-Anwendung automatisch und deployt sie in die Cloud. Wenn Sie nicht eingeloggt sind, wird Ihr Browser geöffnet, um den Authentifizierungsprozess abzuschließen.
+
 Das war’s! Jetzt können Sie unter dieser URL auf Ihre App zugreifen. ✨
 
 #### Über FastAPI Cloud { #about-fastapi-cloud }
index c6fec3f6a7d2ea5df592ba23f1ffd431752dd5ff..d119bb01942c41df50d7e3039b0a9737f7d562e0 100644 (file)
@@ -396,9 +396,9 @@ Es wird alle Routen von diesem Router als Teil von dieser inkludieren.
 
 /// note | Technische Details
 
-Tatsächlich wird intern eine *Pfadoperation* für jede *Pfadoperation* erstellt, die im `APIRouter` deklariert wurde.
+FastAPI behält den ursprünglichen `APIRouter` und seine `APIRoute`s aktiv, wenn der Router in die Hauptanwendung eingebunden wird.
 
-Hinter den Kulissen wird es also tatsächlich so funktionieren, als ob alles dieselbe einzige Anwendung wäre.
+Das bedeutet, dass benutzerdefinierte Subklassen von `APIRouter` und `APIRoute` auch nach dem Einbinden weiterhin beteiligt sein können.
 
 ///
 
@@ -406,7 +406,7 @@ Hinter den Kulissen wird es also tatsächlich so funktionieren, als ob alles die
 
 Bei der Einbindung von Routern müssen Sie sich keine Gedanken über die Leistung machen.
 
-Dies dauert Mikrosekunden und geschieht nur beim Start.
+Dies ist so konzipiert, dass es leichtgewichtig ist und keinen Overhead pro Request hinzufügt.
 
 Es hat also keinen Einfluss auf die Leistung. ⚡
 
@@ -459,9 +459,9 @@ und es wird korrekt funktionieren, zusammen mit allen anderen *Pfadoperationen*,
 
 Die `APIRouter` sind nicht „gemountet“, sie sind nicht vom Rest der Anwendung isoliert.
 
-Das liegt daran, dass wir deren *Pfadoperationen* in das OpenAPI-Schema und die Benutzeroberflächen einbinden möchten.
+Das liegt daran, dass wir ihre *Pfadoperationen* im OpenAPI-Schema und in den Benutzeroberflächen inkludieren möchten.
 
-Da wir sie nicht einfach isolieren und unabhängig vom Rest „mounten“ können, werden die *Pfadoperationen* „geklont“ (neu erstellt) und nicht direkt einbezogen.
+FastAPI behält die ursprünglichen Router und Pfadoperationen aktiv und kombiniert Router-Präfixe, Abhängigkeiten, Tags, Responses und weitere Metadaten beim Bearbeiten von Requests und beim Generieren von OpenAPI.
 
 ///
 
@@ -532,4 +532,16 @@ Auf die gleiche Weise, wie Sie einen `APIRouter` in eine `FastAPI`-Anwendung ein
 router.include_router(other_router)
 ```
 
-Stellen Sie sicher, dass Sie dies tun, bevor Sie `router` in die `FastAPI`-App einbinden, damit auch die *Pfadoperationen* von `other_router` inkludiert werden.
+Sie können dies vor oder nach dem Einbinden von `router` in die `FastAPI`-App tun. FastAPI inkludiert die *Pfadoperationen* von `other_router` dennoch in Routing und OpenAPI.
+
+Gleiches gilt für später zu den Routern hinzugefügte *Pfadoperationen*. Sie sind auch über die frühere Inklusion sichtbar.
+
+/// warning | Technische Details
+
+Vermeiden Sie es, `router.routes` direkt zu mutieren, nachdem ein Router inkludiert wurde. FastAPI behandelt Router-Inklusion als „live“, sodass der ursprüngliche Router und seine Routen Teil des Routings und der OpenAPI-Generierung bleiben.
+
+Verwenden Sie dokumentierte APIs wie Pfadoperation-Dekoratoren und `.include_router()`, um Routen und Router hinzuzufügen.
+
+Betrachten Sie `router.routes` als eine Low-Level-Routenstruktur, die sowohl Routendefinitionen als auch inkludierte Router enthalten kann, und verlassen Sie sich nicht darauf als flache Liste endgültiger Pfadoperationen.
+
+///
index 60a0ceefe05b5de4ad4409f156b21cf50711cafc..2d5765dcddc39958feb178a28c775f3b20d016ca 100644 (file)
@@ -108,7 +108,7 @@ Zum Beispiel:
 
 {* ../../docs_src/body_multiple_params/tutorial004_an_py310.py hl[28] *}
 
-/// info | Info
+/// note | Hinweis
 
 `Body` hat die gleichen zusätzlichen Validierungs- und Metadaten-Parameter wie `Query`, `Path` und andere, die Sie später kennenlernen werden.
 
@@ -123,7 +123,7 @@ Standardmäßig wird **FastAPI** dann seinen Body direkt erwarten.
 Aber wenn Sie möchten, dass es einen JSON-Body mit einem Schlüssel `item` erwartet, und darin den Inhalt des Modells, so wie es das tut, wenn Sie mehrere Body-Parameter deklarieren, dann können Sie den speziellen `Body`-Parameter `embed` setzen:
 
 ```Python
-item: Item = Body(embed=True)
+item: Annotated[Item, Body(embed=True)]
 ```
 
 so wie in:
index 62f04a37da1e20baad666122b30af609a06b206b..0c5e84de21e8c9469e0f74435b65cee3ecdacb83 100644 (file)
@@ -135,7 +135,7 @@ Das wird einen JSON-Body erwarten (konvertieren, validieren, dokumentieren, usw.
 }
 ```
 
-/// info | Info
+/// note | Hinweis
 
 Beachten Sie, dass der `images`-Schlüssel jetzt eine Liste von Bild-Objekten hat.
 
@@ -147,7 +147,7 @@ Sie können beliebig tief verschachtelte Modelle definieren:
 
 {* ../../docs_src/body_nested_models/tutorial007_py310.py hl[7,12,18,21,25] *}
 
-/// info | Info
+/// note | Hinweis
 
 Beachten Sie, wie `Offer` eine Liste von `Item`s hat, die ihrerseits eine optionale Liste von `Image`s haben.
 
index 9e87dfccf0f84f0f25859024bd787ee14a5f4472..656b55c631c7ac64d5bc9c8b3140f389958dc8ee 100644 (file)
@@ -8,7 +8,7 @@ Ihre API muss fast immer einen **Response**body senden. Aber Clients müssen nic
 
 Um einen **Request**body zu deklarieren, verwenden Sie [Pydantic](https://docs.pydantic.dev/)-Modelle mit all deren Fähigkeiten und Vorzügen.
 
-/// info | Info
+/// note | Hinweis
 
 Um Daten zu senden, sollten Sie eines von: `POST` (meistverwendet), `PUT`, `DELETE` oder `PATCH` verwenden.
 
index 81f7abb7de5c05127e04ab4e13ede7831eb5051a..eb15a0bbf042058cd629fbe8850315c28b6bb01d 100644 (file)
@@ -32,7 +32,7 @@ Sie können die definierten Cookies in der Dokumentationsoberfläche unter `/doc
 <img src="/img/tutorial/cookie-param-models/image01.png">
 </div>
 
-/// info | Info
+/// note | Hinweis
 
 Bitte beachten Sie, dass Browser Cookies auf spezielle Weise und im Hintergrund bearbeiten, sodass sie **nicht** leicht **JavaScript** erlauben, diese zu berühren.
 
index 81a753211ac5d7a341d4c92c4c5e2d71e7103dc0..db5f3332c26c707819481584016be78a5255ffc8 100644 (file)
@@ -24,13 +24,13 @@ Aber denken Sie daran, dass, wenn Sie `Query`, `Path`, `Cookie` und andere von `
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 Um Cookies zu deklarieren, müssen Sie `Cookie` verwenden, da die Parameter sonst als Query-Parameter interpretiert würden.
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 Beachten Sie, dass **Browser Cookies auf besondere Weise und hinter den Kulissen handhaben** und **JavaScript** **nicht** ohne Weiteres erlauben, auf sie zuzugreifen.
 
index 028d280dc7f8f1ca70ec3c54b438836afbefa92e..a3ef1d5a8808d88e39bb88e95b767056dc82e3ce 100644 (file)
@@ -28,7 +28,7 @@ Damit wird auch vermieden, neue Entwickler möglicherweise zu verwirren, die ein
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 In diesem Beispiel verwenden wir zwei erfundene benutzerdefinierte Header `X-Key` und `X-Token`.
 
index e1eec2350e55f8bcf0530df72446a08a61aaef0f..43a5d4f5339c9a5461ed96988ff52e684d79c0ce 100644 (file)
@@ -170,7 +170,7 @@ participant tasks as Hintergrundtasks
     end
 ```
 
-/// info | Info
+/// note | Hinweis
 
 Es wird nur **eine Response** an den Client gesendet. Es kann eine Error-Response oder die Response der *Pfadoperation* sein.
 
index 49c65eb37ae0b36fabda616813971d23c3130688..e631e7863d3b22e8a3f5ec1042f17e05a0267475 100644 (file)
@@ -50,7 +50,7 @@ In diesem Fall erwartet diese Abhängigkeit:
 
 Und dann wird einfach ein <abbr title="Dictionary – Zuordnungstabelle: In anderen Sprachen auch Hash, Map, Objekt, Assoziatives Array genannt">`dict`</abbr> zurückgegeben, welches diese Werte enthält.
 
-/// info | Info
+/// note | Hinweis
 
 FastAPI unterstützt (und empfiehlt die Verwendung von) `Annotated` seit Version 0.95.0.
 
@@ -105,7 +105,7 @@ common_parameters --> read_users
 
 Auf diese Weise schreiben Sie gemeinsam genutzten Code nur einmal, und **FastAPI** kümmert sich darum, ihn für Ihre *Pfadoperationen* aufzurufen.
 
-/// check | Testen
+/// tip | Tipp
 
 Beachten Sie, dass Sie keine spezielle Klasse erstellen und diese irgendwo an **FastAPI** übergeben müssen, um sie zu „registrieren“ oder so ähnlich.
 
index b01cc80a76abd69e0cdf09e360cd18052aceabed..d6a2056cdad88644001e9ca53b611108b41becf2 100644 (file)
@@ -35,7 +35,7 @@ Diese Abhängigkeit verwenden wir nun wie folgt:
 
 {* ../../docs_src/dependencies/tutorial005_an_py310.py hl[23] *}
 
-/// info | Info
+/// note | Hinweis
 
 Beachten Sie, dass wir in der *Pfadoperation-Funktion* nur eine einzige Abhängigkeit deklarieren, den `query_or_cookie_extractor`.
 
index 0cf3d03a9f9c3992670f0fb7cfcfa637a2b92898..f605c5540302086c542a0419af8f5888c8c443c1 100644 (file)
@@ -180,7 +180,7 @@ was äquivalent wäre zu:
 from backend.main import app
 ```
 
-### `fastapi dev` mit Pfad { #fastapi-dev-with-path }
+### `fastapi dev` mit Pfad oder mit der CLI-Option `--entrypoint` { #fastapi-dev-with-path-or-with-entrypoint-cli-option }
 
 Sie können auch den Dateipfad an den Befehl `fastapi dev` übergeben, und er wird das zu verwendende FastAPI-App-Objekt erraten:
 
@@ -188,29 +188,19 @@ Sie können auch den Dateipfad an den Befehl `fastapi dev` übergeben, und er wi
 $ fastapi dev main.py
 ```
 
-Aber Sie müssten sich daran erinnern, bei jedem Aufruf des `fastapi`-Befehls den korrekten Pfad zu übergeben.
-
-Zusätzlich könnten andere Tools es nicht finden, z. B. die [VS Code-Erweiterung](../editor-support.md) oder [FastAPI Cloud](https://fastapicloud.com). Daher wird empfohlen, den `entrypoint` in `pyproject.toml` zu verwenden.
-
-### Ihre App deployen (optional) { #deploy-your-app-optional }
-
-Sie können optional Ihre FastAPI-App in der [FastAPI Cloud](https://fastapicloud.com) deployen, treten Sie der Warteliste bei, falls Sie es noch nicht getan haben. 🚀
-
-Wenn Sie bereits ein **FastAPI Cloud**-Konto haben (wir haben Sie von der Warteliste eingeladen 😉), können Sie Ihre Anwendung mit einem Befehl deployen.
-
-Vor dem Deployen, stellen Sie sicher, dass Sie eingeloggt sind:
-
-<div class="termy">
+Oder Sie können die Option `--entrypoint` an den Befehl `fastapi dev` übergeben:
 
 ```console
-$ fastapi login
-
-You are logged in to FastAPI Cloud 🚀
+$ fastapi dev --entrypoint main:app
 ```
 
-</div>
+Aber Sie müssten sich daran erinnern, bei jedem Aufruf des `fastapi`-Befehls den korrekten Pfad\entrypoint zu übergeben.
+
+Zusätzlich könnten andere Tools es nicht finden, z. B. die [VS Code-Erweiterung](../editor-support.md) oder [FastAPI Cloud](https://fastapicloud.com). Daher wird empfohlen, den `entrypoint` in `pyproject.toml` zu verwenden.
 
-Dann stellen Sie Ihre App bereit:
+### Ihre App deployen (optional) { #deploy-your-app-optional }
+
+Sie können optional Ihre FastAPI-App in der [FastAPI Cloud](https://fastapicloud.com) mit einem einzigen Befehl deployen. 🚀
 
 <div class="termy">
 
@@ -226,6 +216,8 @@ Deploying to FastAPI Cloud...
 
 </div>
 
+Das CLI erkennt Ihre FastAPI-Anwendung automatisch und deployt sie in die Cloud. Wenn Sie nicht eingeloggt sind, wird Ihr Browser geöffnet, um die Authentifizierung abzuschließen.
+
 Das war's! Jetzt können Sie Ihre App unter dieser URL aufrufen. ✨
 
 ## Zusammenfassung, Schritt für Schritt { #recap-step-by-step }
@@ -270,7 +262,7 @@ https://example.com/items/foo
 /items/foo
 ```
 
-/// info | Info
+/// note | Hinweis
 
 Ein „Pfad“ wird häufig auch als „Endpunkt“ oder „Route“ bezeichnet.
 
@@ -322,7 +314,7 @@ Das `@app.get("/")` sagt **FastAPI**, dass die Funktion direkt darunter für die
 * den Pfad `/`
 * unter der Verwendung der <dfn title="eine HTTP-GET-Methode"><code>get</code>-Operation</dfn> gehen
 
-/// info | `@decorator` Info
+/// note | `@decorator` Info
 
 Diese `@something`-Syntax wird in Python „Dekorator“ genannt.
 
index 498ad83a8a6a8d797b210c2e0ecfc5ac414e48a1..a0d79786e6d257939e43e2d8938cdec33b40139e 100644 (file)
@@ -74,7 +74,7 @@ Verwenden Sie den Parameter `tags` mit Ihren *Pfadoperationen* (und `APIRouter`n
 
 {* ../../docs_src/metadata/tutorial004_py310.py hl[21,26] *}
 
-/// info | Info
+/// note | Hinweis
 
 Lesen Sie mehr zu Tags unter [Pfadoperation-Konfiguration](path-operation-configuration.md#tags).
 
index 111c714946131a0003b65da35f5d2a4faf9cf329..9fd381b7eded2e41c103d61dd5445ee50091ba44 100644 (file)
@@ -72,13 +72,13 @@ Sie können die Response mit dem Parameter `response_description` beschreiben:
 
 {* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[18] *}
 
-/// info | Info
+/// note | Hinweis
 
 Beachten Sie, dass sich `response_description` speziell auf die Response bezieht, während `description` sich generell auf die *Pfadoperation* bezieht.
 
 ///
 
-/// check | Testen
+/// tip | Tipp
 
 OpenAPI verlangt, dass jede *Pfadoperation* über eine Beschreibung der Response verfügt.
 
index 76c782c52cf971114600fcdffe0d9c751806eaf6..59464ac8f6b7cd01d5b23353e4035589525aa655 100644 (file)
@@ -8,7 +8,7 @@ Importieren Sie zuerst `Path` von `fastapi`, und importieren Sie `Annotated`:
 
 {* ../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py hl[1,3] *}
 
-/// info | Info
+/// note | Hinweis
 
 FastAPI hat in Version 0.95.0 Unterstützung für `Annotated` hinzugefügt und es zur Verwendung empfohlen.
 
@@ -131,7 +131,7 @@ Und Sie können auch Zahlenvalidierungen deklarieren:
 * `lt`: `l`ess `t`han (kleiner als)
 * `le`: `l`ess than or `e`qual (kleiner oder gleich)
 
-/// info | Info
+/// note | Hinweis
 
 `Query`, `Path`, und andere Klassen, die Sie später sehen werden, sind Unterklassen einer gemeinsamen `Param`-Klasse.
 
index 0e0a3bdbdf14e5dbcfc6fc4bd26f07797cb84287..d462a74075df31670c971d11cbbf17051f345d27 100644 (file)
@@ -20,7 +20,7 @@ Sie können den Typ eines Pfad-Parameters in der Argumentliste der Funktion dekl
 
 In diesem Fall wird `item_id` als `int` deklariert, also als Ganzzahl.
 
-/// check | Testen
+/// tip | Tipp
 
 Dadurch erhalten Sie Editor-Unterstützung innerhalb Ihrer Funktion, mit Fehlerprüfungen, Codevervollständigung, usw.
 
@@ -34,7 +34,7 @@ Wenn Sie dieses Beispiel ausführen und Ihren Browser unter [http://127.0.0.1:80
 {"item_id":3}
 ```
 
-/// check | Testen
+/// tip | Tipp
 
 Beachten Sie, dass der Wert, den Ihre Funktion erhält und zurückgibt, die Zahl `3` ist, also ein `int`. Nicht der String „3“, also ein `str`.
 
@@ -66,7 +66,7 @@ Der Pfad-Parameter `item_id` hatte den Wert „foo“, was kein `int` ist.
 
 Die gleiche Fehlermeldung würde angezeigt werden, wenn Sie ein `float` (also eine Kommazahl) statt eines `int`s übergeben würden, wie etwa in: [http://127.0.0.1:8000/items/4.2](http://127.0.0.1:8000/items/4.2)
 
-/// check | Testen
+/// tip | Tipp
 
 Sprich, mit der gleichen Python-Typdeklaration gibt Ihnen **FastAPI** Datenvalidierung.
 
@@ -82,7 +82,7 @@ Wenn Sie die Seite [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) in I
 
 <img src="/img/tutorial/path-params/image01.png">
 
-/// check | Testen
+/// tip | Tipp
 
 Wiederum, mit dieser gleichen Python-Typdeklaration gibt Ihnen **FastAPI** eine automatische, interaktive Dokumentation (verwendet die Swagger-Benutzeroberfläche).
 
index ed277456e1dee9d2ed6bba6779f065870c97be05..a00596f08c486d59ff56afa4466eb1a0d3ae2eba 100644 (file)
@@ -29,7 +29,7 @@ Um dies zu erreichen, importieren Sie zuerst:
 
 {* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *}
 
-/// info | Info
+/// note | Hinweis
 
 FastAPI hat Unterstützung für `Annotated` hinzugefügt (und begonnen, es zu empfehlen) in der Version 0.95.0.
 
@@ -381,7 +381,7 @@ Zum Beispiel überprüft dieser benutzerdefinierte Validator, ob die Artikel-ID
 
 {* ../../docs_src/query_params_str_validations/tutorial015_an_py310.py hl[5,16:19,24] *}
 
-/// info | Info
+/// note | Hinweis
 
 Dies ist verfügbar seit Pydantic Version 2 oder höher. 😎
 
index 56aca4c2e19696bba62fc21959a709902dd3ad22..d386bc71807bbda108c6ca8e598211cd2e60852d 100644 (file)
@@ -65,7 +65,7 @@ Auf die gleiche Weise können Sie optionale Query-Parameter deklarieren, indem S
 
 In diesem Fall wird der Funktionsparameter `q` optional und standardmäßig `None` sein.
 
-/// check | Testen
+/// tip | Tipp
 
 Beachten Sie auch, dass **FastAPI** intelligent genug ist, um zu erkennen, dass `item_id` ein Pfad-Parameter ist und `q` keiner, daher muss letzteres ein Query-Parameter sein.
 
index a4c1318ef267a964ae2ccf488a2fb85d3cac75e9..f2a234c3ba05cecaab751a61b004dc73188232c8 100644 (file)
@@ -2,7 +2,7 @@
 
 Sie können Dateien, die vom Client hochgeladen werden, mithilfe von `File` definieren.
 
-/// info | Info
+/// note | Hinweis
 
 Um hochgeladene Dateien zu empfangen, installieren Sie zuerst [`python-multipart`](https://github.com/Kludex/python-multipart).
 
@@ -28,7 +28,7 @@ Erstellen Sie Datei-Parameter, so wie Sie es auch mit `Body` und `Form` machen w
 
 {* ../../docs_src/request_files/tutorial001_an_py310.py hl[9] *}
 
-/// info | Info
+/// note | Hinweis
 
 `File` ist eine Klasse, die direkt von `Form` erbt.
 
index f3ddaee813216babb3f78a2f5ce977d53433637b..b40d60d0bb3c33c8f23a97d42caf8154af7d0703 100644 (file)
@@ -2,7 +2,7 @@
 
 Sie können **Pydantic-Modelle** verwenden, um **Formularfelder** in FastAPI zu deklarieren.
 
-/// info | Info
+/// note | Hinweis
 
 Um Formulare zu verwenden, installieren Sie zuerst [`python-multipart`](https://github.com/Kludex/python-multipart).
 
index 8b4e85c0d35b6ce29ba4d553e35b87acb0717754..98e5428519e7b1eb591624524d531bbf5985cb1d 100644 (file)
@@ -2,7 +2,7 @@
 
 Sie können gleichzeitig Dateien und Formulardaten mit `File` und `Form` definieren.
 
-/// info | Info
+/// note | Hinweis
 
 Um hochgeladene Dateien und/oder Formulardaten zu empfangen, installieren Sie zuerst [`python-multipart`](https://github.com/Kludex/python-multipart).
 
index bc2578c01c5f62cd55a61d93ab49f41d28e5cbb9..815de0dce104be22db1e456f119d710f61fe51cf 100644 (file)
@@ -2,7 +2,7 @@
 
 Wenn Sie Felder aus Formularen statt JSON empfangen müssen, können Sie `Form` verwenden.
 
-/// info | Info
+/// note | Hinweis
 
 Um Formulare zu verwenden, installieren Sie zuerst [`python-multipart`](https://github.com/Kludex/python-multipart).
 
@@ -22,7 +22,7 @@ Importieren Sie `Form` von `fastapi`:
 
 ## `Form`-Parameter definieren { #define-form-parameters }
 
-Erstellen Sie Formular-Parameter, so wie Sie es auch mit `Body` und `Query` machen würden:
+Erstellen Sie Formular-Parameter, so wie Sie es auch mit `Body` oder `Query` machen würden:
 
 {* ../../docs_src/request_forms/tutorial001_an_py310.py hl[9] *}
 
@@ -32,7 +32,7 @@ Die <dfn title="Spezifikation">Spezifikation</dfn> erfordert, dass die Felder ex
 
 Mit `Form` haben Sie die gleichen Konfigurationsmöglichkeiten wie mit `Body` (und `Query`, `Path`, `Cookie`), inklusive Validierung, Beispielen, einem Alias (z. B. `user-name` statt `username`), usw.
 
-/// info | Info
+/// note | Hinweis
 
 `Form` ist eine Klasse, die direkt von `Body` erbt.
 
@@ -56,7 +56,7 @@ Daten aus Formularen werden normalerweise mit dem <abbr title="Medientyp">„med
 
 Wenn das Formular stattdessen Dateien enthält, werden diese mit `multipart/form-data` kodiert. Im nächsten Kapitel erfahren Sie mehr über die Handhabung von Dateien.
 
-Wenn Sie mehr über Formularfelder und ihre Kodierungen lesen möchten, besuchen Sie die [<abbr title="Mozilla Developer Network  Mozilla-Entwicklernetzwerk">MDN</abbr>-Webdokumentation für `POST`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST).
+Wenn Sie mehr über Formularfelder und ihre Kodierungen lesen möchten, besuchen Sie die [<abbr title="Mozilla Developer Network - Mozilla-Entwicklernetzwerk">MDN</abbr>-Webdokumentation für `POST`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST).
 
 ///
 
index 0aafda954cdf7f2151c0567c73c06b0dd653a020..2b580bd6d50b1a76ef4c9b1bb4adb750eba8163e 100644 (file)
@@ -72,7 +72,7 @@ Im Folgenden deklarieren wir ein `UserIn`-Modell; es enthält ein Klartext-Passw
 
 {* ../../docs_src/response_model/tutorial002_py310.py hl[7,9] *}
 
-/// info | Info
+/// note | Hinweis
 
 Um `EmailStr` zu verwenden, installieren Sie zuerst [`email-validator`](https://github.com/JoshData/python-email-validator).
 
@@ -251,7 +251,7 @@ Wenn Sie also den Artikel mit der ID `foo` bei der *Pfadoperation* anfragen, wir
 }
 ```
 
-/// info | Info
+/// note | Hinweis
 
 Sie können auch:
 
index a0018a13dcc5025a48c96f0b2af2b65ee4da3493..63f1870e80a62ed664a6005cb80364c2522fcf1c 100644 (file)
@@ -18,7 +18,7 @@ Beachten Sie, dass `status_code` ein Parameter der „Dekorator“-Methode ist (
 
 Dem `status_code`-Parameter wird eine Zahl mit dem HTTP-Statuscode übergeben.
 
-/// info | Info
+/// note | Hinweis
 
 Alternativ kann `status_code` auch ein `IntEnum` erhalten, wie etwa Pythons [`http.HTTPStatus`](https://docs.python.org/3/library/http.html#http.HTTPStatus).
 
index bdb67bd68f5c89e5de64c092ae993e789947c496..a34f8097bb77e890fec1961b5399e92ef0aa92a4 100644 (file)
@@ -24,7 +24,7 @@ Sie könnten das beispielsweise verwenden, um Metadaten für eine Frontend-Benut
 
 ///
 
-/// info | Info
+/// note | Hinweis
 
 OpenAPI 3.1.0 (verwendet seit FastAPI 0.99.0) hat Unterstützung für `examples` hinzugefügt, was Teil des **JSON Schema** Standards ist.
 
@@ -155,7 +155,7 @@ OpenAPI fügte auch die Felder `example` und `examples` zu anderen Teilen der Sp
     * `File()`
     * `Form()`
 
-/// info | Info
+/// note | Hinweis
 
 Dieser alte, OpenAPI-spezifische `examples`-Parameter heißt seit FastAPI `0.103.0` jetzt `openapi_examples`.
 
@@ -171,7 +171,7 @@ Und jetzt hat dieses neue `examples`-Feld Vorrang vor dem alten (und benutzerdef
 
 Dieses neue `examples`-Feld in JSON Schema ist **nur eine `list`** von Beispielen, kein Dict mit zusätzlichen Metadaten wie an den anderen Stellen in OpenAPI (oben beschrieben).
 
-/// info | Info
+/// note | Hinweis
 
 Selbst, nachdem OpenAPI 3.1.0 veröffentlicht wurde, mit dieser neuen, einfacheren Integration mit JSON Schema, unterstützte Swagger UI, das Tool, das die automatische Dokumentation bereitstellt, eine Zeit lang OpenAPI 3.1.0 nicht (das tut es seit Version 5.0.0 🎉).
 
index 8a1d2fbf186975a7f90559617f3497376f5cce90..2fa5871843c414a163a0b9c21914a62463c2e2fc 100644 (file)
@@ -24,7 +24,7 @@ Kopieren Sie das Beispiel in eine Datei `main.py`:
 
 ## Ausführen { #run-it }
 
-/// info | Info
+/// note | Hinweis
 
 Das Paket [`python-multipart`](https://github.com/Kludex/python-multipart) wird automatisch mit **FastAPI** installiert, wenn Sie den Befehl `pip install "fastapi[standard]"` ausführen.
 
@@ -62,7 +62,7 @@ Sie werden etwa Folgendes sehen:
 
 <img src="/img/tutorial/security/image01.png">
 
-/// check | Authorize-Button!
+/// tip | Authorize-Button!
 
 Sie haben bereits einen glänzenden, neuen „Authorize“-Button.
 
@@ -120,7 +120,7 @@ Betrachten wir es also aus dieser vereinfachten Sicht:
 
 In diesem Beispiel verwenden wir **OAuth2** mit dem **Password**-Flow und einem **Bearer**-Token. Wir machen das mit der Klasse `OAuth2PasswordBearer`.
 
-/// info | Info
+/// note | Hinweis
 
 Ein „Bearer“-Token ist nicht die einzige Option.
 
@@ -150,7 +150,7 @@ Dieser Parameter erstellt nicht diesen Endpunkt / diese *Pfadoperation*, sondern
 
 Wir werden demnächst auch die eigentliche Pfadoperation erstellen.
 
-/// info | Info
+/// note | Hinweis
 
 Wenn Sie ein sehr strenger „Pythonista“ sind, missfällt Ihnen möglicherweise die Schreibweise des Parameternamens `tokenUrl` anstelle von `token_url`.
 
@@ -178,7 +178,7 @@ Diese Abhängigkeit stellt einen `str` bereit, der dem Parameter `token` der *Pf
 
 **FastAPI** weiß, dass es diese Abhängigkeit verwenden kann, um ein „Sicherheitsschema“ im OpenAPI-Schema (und der automatischen API-Dokumentation) zu definieren.
 
-/// info | Technische Details
+/// note | Technische Details
 
 **FastAPI** weiß, dass es die Klasse `OAuth2PasswordBearer` (deklariert in einer Abhängigkeit) verwenden kann, um das Sicherheitsschema in OpenAPI zu definieren, da es von `fastapi.security.oauth2.OAuth2` erbt, das wiederum von `fastapi.security.base.SecurityBase` erbt.
 
index cfb59ff12f016eece3e6c4a67da8dee34470dcde..5178de9b04ce1a104a07380518bf4ac0468c831d 100644 (file)
@@ -52,7 +52,7 @@ Weil Sie `Depends` verwenden, wird **FastAPI** hier aber nicht verwirrt.
 
 ///
 
-/// check | Testen
+/// tip | Tipp
 
 Die Art und Weise, wie dieses System von Abhängigkeiten konzipiert ist, ermöglicht es uns, verschiedene Abhängigkeiten (verschiedene „Dependables“) zu haben, die alle ein `User`-Modell zurückgeben.
 
index 2f727b167adf051312866a35d28409dd0e785ea5..1a42eb6f3e82273ecda244db5607e7a34680a217 100644 (file)
@@ -4,7 +4,7 @@ Da wir nun über den gesamten Sicherheitsablauf verfügen, machen wir die Anwend
 
 Diesen Code können Sie tatsächlich in Ihrer Anwendung verwenden, die Passwort-Hashes in Ihrer Datenbank speichern, usw.
 
-Wir bauen auf dem vorherigen Kapitel auf.
+Wir bauen auf dem vorherigen Kapitel auf und erweitern es.
 
 ## Über JWT { #about-jwt }
 
@@ -42,7 +42,7 @@ $ pip install pyjwt
 
 </div>
 
-/// info | Info
+/// note | Hinweis
 
 Wenn Sie planen, digitale Signaturalgorithmen wie RSA oder ECDSA zu verwenden, sollten Sie die Kryptografie-Abhängigkeit `pyjwt[crypto]` installieren.
 
@@ -213,7 +213,7 @@ Verwenden Sie die Anmeldeinformationen:
 Benutzername: `johndoe`
 Passwort: `secret`
 
-/// check | Testen
+/// tip | Tipp
 
 Beachten Sie, dass im Code nirgendwo das Klartext-Passwort „`secret`“ steht, wir haben nur die gehashte Version.
 
index 32720706edd64f7b7f47393a27061400307a27fe..f5304bd3238ab3a760ce2d2b9efbdb98a1ab01f9 100644 (file)
@@ -32,7 +32,7 @@ Diese werden normalerweise verwendet, um bestimmte Sicherheitsberechtigungen zu
 * `instagram_basic` wird von Facebook / Instagram verwendet.
 * `https://www.googleapis.com/auth/drive` wird von Google verwendet.
 
-/// info | Info
+/// note | Hinweis
 
 In OAuth2 ist ein „Scope“ nur ein String, der eine bestimmte erforderliche Berechtigung deklariert.
 
@@ -72,7 +72,7 @@ Wenn Sie es erzwingen müssen, verwenden Sie `OAuth2PasswordRequestFormStrict` a
 * Eine optionale `client_id` (benötigen wir für unser Beispiel nicht).
 * Ein optionales `client_secret` (benötigen wir für unser Beispiel nicht).
 
-/// info | Info
+/// note | Hinweis
 
 `OAuth2PasswordRequestForm` ist keine spezielle Klasse für **FastAPI**, so wie `OAuth2PasswordBearer`.
 
@@ -144,7 +144,7 @@ UserInDB(
 )
 ```
 
-/// info | Info
+/// note | Hinweis
 
 Eine ausführlichere Erklärung von `**user_dict` finden Sie in [der Dokumentation für **Extra Modelle**](../extra-models.md#about-user-in-dict).
 
@@ -196,7 +196,7 @@ In unserem Endpunkt erhalten wir also nur dann einen Benutzer, wenn der Benutzer
 
 {* ../../docs_src/security/tutorial003_an_py310.py hl[58:66,69:74,94] *}
 
-/// info | Info
+/// note | Hinweis
 
 Der zusätzliche Header `WWW-Authenticate` mit dem Wert `Bearer`, den wir hier zurückgeben, ist ebenfalls Teil der Spezifikation.
 
index f465c1131880bc6e65ad6aa594e9395270c00ceb..8e6f35c71d242366b9e512b7e64f1f72c01c3d33 100644 (file)
@@ -2,9 +2,9 @@
 
 Sie können Daten mithilfe von **Server-Sent Events** (SSE) an den Client streamen.
 
-Das ist ähnlich wie [JSON Lines streamen](stream-json-lines.md), verwendet aber das Format `text/event-stream`, das von Browsern nativ mit der [die `EventSource`-API](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) unterstützt wird.
+Das ist ähnlich wie [JSON Lines streamen](stream-json-lines.md), verwendet aber das Format `text/event-stream`, das von Browsern nativ mit der [`EventSource`-API](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) unterstützt wird.
 
-/// info | Info
+/// note | Hinweis
 
 Hinzugefügt in FastAPI 0.135.0.
 
@@ -29,7 +29,7 @@ SSE wird häufig für KI-Chat-Streaming, Live-Benachrichtigungen, Logs und Obser
 
 /// tip | Tipp
 
-Wenn Sie Binärdaten streamen wollen, z. B. Video oder Audio, sehen Sie im fortgeschrittenen Handbuch nach: [Daten streamen](../advanced/stream-data.md).
+Wenn Sie Binärdaten streamen wollen, z. B. Video oder Audio, sehen Sie im Handbuch für fortgeschrittene Benutzer nach: [Daten streamen](../advanced/stream-data.md).
 
 ///
 
@@ -103,7 +103,7 @@ Sie können ihn als Header-Parameter einlesen und verwenden, um den Stream dort
 
 ## SSE mit POST { #sse-with-post }
 
-SSE funktioniert mit **jedem HTTP-Method**, nicht nur mit `GET`.
+SSE funktioniert mit **jeder HTTP-Methode**, nicht nur mit `GET`.
 
 Das ist nützlich für Protokolle wie [MCP](https://modelcontextprotocol.io), die SSE über `POST` streamen:
 
@@ -113,7 +113,7 @@ Das ist nützlich für Protokolle wie [MCP](https://modelcontextprotocol.io), di
 
 FastAPI implementiert einige bewährte SSE-Praktiken direkt out of the box.
 
-- Alle 15 Sekunden, wenn keine Nachricht gesendet wurde, einen **„keep alive“-`ping`-Kommentar** senden, um zu verhindern, dass einige Proxys die Verbindung schließen, wie in der [HTML-Spezifikation: Server-Sent Events](https://html.spec.whatwg.org/multipage/server-sent-events.html#authoring-notes) vorgeschlagen.
+- Einen **„keep alive“-`ping`-Kommentar** alle 15 Sekunden senden, wenn keine Nachricht gesendet wurde, um zu verhindern, dass einige Proxys die Verbindung schließen, wie in der [HTML-Spezifikation: Server-Sent Events](https://html.spec.whatwg.org/multipage/server-sent-events.html#authoring-notes) vorgeschlagen.
 - Den Header `Cache-Control: no-cache` setzen, um **Caching** des Streams zu verhindern.
 - Einen speziellen Header `X-Accel-Buffering: no` setzen, um **Buffering** in einigen Proxys wie Nginx zu verhindern.
 
index 3625853b522a4379bf474037601d341e956b14dc..61bf3fafa467d1926d1ab1afe634eef0c8edf38d 100644 (file)
@@ -2,7 +2,7 @@
 
 Sie könnten eine Folge von Daten haben, die Sie in einem „Stream“ senden möchten, das können Sie mit **JSON Lines** tun.
 
-/// info | Info
+/// note | Hinweis
 
 Hinzugefügt in FastAPI 0.134.0.
 
@@ -48,7 +48,7 @@ Eine Response hätte einen Content-Type von `application/jsonl` (anstelle von `a
 
 Es ist einem JSON-Array (entspricht einer Python-Liste) sehr ähnlich, aber anstatt in `[]` eingeschlossen zu sein und `,` zwischen den Elementen zu haben, gibt es hier **ein JSON-Objekt pro Zeile**, sie sind durch ein Zeilenumbruchzeichen getrennt.
 
-/// info | Info
+/// note | Hinweis
 
 Der wichtige Punkt ist, dass Ihre App in der Lage ist, jede Zeile der Reihe nach zu erzeugen, während der Client die vorherigen Zeilen konsumiert.
 
index f7b0b87ebcf8fcff50dbd4abe4666d65f69af7f8..73dc148608e87ebc2975b433efe5a33865ef0000 100644 (file)
@@ -8,7 +8,7 @@ Damit können Sie [pytest](https://docs.pytest.org/) direkt mit **FastAPI** verw
 
 ## `TestClient` verwenden { #using-testclient }
 
-/// info | Info
+/// note | Hinweis
 
 Um `TestClient` zu verwenden, installieren Sie zunächst [`httpx`](https://www.python-httpx.org).
 
@@ -145,7 +145,7 @@ Z. B.:
 
 Weitere Informationen zum Übergeben von Daten an das Backend (mithilfe von `httpx` oder dem `TestClient`) finden Sie in der [HTTPX-Dokumentation](https://www.python-httpx.org).
 
-/// info | Info
+/// note | Hinweis
 
 Beachten Sie, dass der `TestClient` Daten empfängt, die nach JSON konvertiert werden können, keine Pydantic-Modelle.