diff --git a/docs/de/docs/tutorial/response-model.md b/docs/de/docs/tutorial/response-model.md
index faf9be516..5b3c189a6 100644
--- a/docs/de/docs/tutorial/response-model.md
+++ b/docs/de/docs/tutorial/response-model.md
@@ -1,4 +1,4 @@
-# Responsemodell – Rückgabetyp
+# Responsemodell – Rückgabetyp { #response-model-return-type }
Sie können den Typ der Response deklarieren, indem Sie den **Rückgabetyp** der *Pfadoperation* annotieren.
@@ -19,7 +19,7 @@ Aber am wichtigsten:
* Es wird die Ausgabedaten auf das **limitieren und filtern**, was im Rückgabetyp definiert ist.
* Das ist insbesondere für die **Sicherheit** wichtig, mehr dazu unten.
-## `response_model`-Parameter
+## `response_model`-Parameter { #response-model-parameter }
Es gibt Fälle, da möchten oder müssen Sie Daten zurückgeben, die nicht genau dem entsprechen, was der Typ deklariert.
@@ -41,7 +41,7 @@ Sie können `response_model` in jeder möglichen *Pfadoperation* verwenden:
/// note | Hinweis
-Beachten Sie, dass `response_model` ein Parameter der „Dekorator“-Methode ist (`get`, `post`, usw.). Nicht der *Pfadoperation-Funktion*, so wie die anderen Parameter.
+Beachten Sie, dass `response_model` ein Parameter der „Dekorator“-Methode ist (`get`, `post`, usw.). Nicht der *Pfadoperation-Funktion*, so wie die anderen Parameter und der Body.
///
@@ -57,7 +57,7 @@ So sagen Sie dem Editor, dass Sie absichtlich *irgendetwas* zurückgeben. Aber F
///
-### `response_model`-Priorität
+### `response_model`-Priorität { #response-model-priority }
Wenn sowohl Rückgabetyp als auch `response_model` deklariert sind, hat `response_model` die Priorität und wird von FastAPI bevorzugt verwendet.
@@ -65,18 +65,27 @@ So können Sie korrekte Typannotationen zu ihrer Funktion hinzufügen, die von i
Sie können auch `response_model=None` verwenden, um das Erstellen eines Responsemodells für diese *Pfadoperation* zu unterbinden. Sie könnten das tun wollen, wenn sie Dinge annotieren, die nicht gültige Pydantic-Felder sind. Ein Beispiel dazu werden Sie in einer der Abschnitte unten sehen.
-## Dieselben Eingabedaten zurückgeben
+## Dieselben Eingabedaten zurückgeben { #return-the-same-input-data }
Im Folgenden deklarieren wir ein `UserIn`-Modell; es enthält ein Klartext-Passwort:
{* ../../docs_src/response_model/tutorial002_py310.py hl[7,9] *}
-/// info
+/// info | Info
Um `EmailStr` zu verwenden, installieren Sie zuerst `email-validator`.
-Z. B. `pip install email-validator`
-oder `pip install pydantic[email]`.
+Stellen Sie sicher, dass Sie eine [virtuelle Umgebung](../virtual-environments.md){.internal-link target=_blank} erstellen, sie aktivieren und es dann installieren, zum Beispiel:
+
+```console
+$ pip install email-validator
+```
+
+oder mit:
+
+```console
+$ pip install "pydantic[email]"
+```
///
@@ -96,7 +105,7 @@ Speichern Sie niemals das Klartext-Passwort eines Benutzers, oder versenden Sie
///
-## Ausgabemodell hinzufügen
+## Ausgabemodell hinzufügen { #add-an-output-model }
Wir können stattdessen ein Eingabemodell mit dem Klartext-Passwort, und ein Ausgabemodell ohne das Passwort erstellen:
@@ -112,7 +121,7 @@ Obwohl unsere *Pfadoperation-Funktion* hier denselben `user` von der Eingabe zur
Darum wird **FastAPI** sich darum kümmern, dass alle Daten, die nicht im Ausgabemodell deklariert sind, herausgefiltert werden (mittels Pydantic).
-### `response_model` oder Rückgabewert
+### `response_model` oder Rückgabewert { #response-model-or-return-type }
Da unsere zwei Modelle in diesem Fall unterschiedlich sind, würde, wenn wir den Rückgabewert der Funktion als `UserOut` deklarieren, der Editor sich beschweren, dass wir einen ungültigen Typ zurückgeben, weil das unterschiedliche Klassen sind.
@@ -120,11 +129,11 @@ Darum müssen wir es in diesem Fall im `response_model`-Parameter deklarieren.
... aber lesen Sie weiter, um zu sehen, wie man das anders lösen kann.
-## Rückgabewert und Datenfilterung
+## Rückgabewert und Datenfilterung { #return-type-and-data-filtering }
-Führen wir unser vorheriges Beispiel fort. Wir wollten **die Funktion mit einem Typ annotieren**, aber etwas zurückgeben, das **weniger Daten** enthält.
+Führen wir unser vorheriges Beispiel fort. Wir wollten **die Funktion mit einem Typ annotieren**, aber wir wollten in der Funktion tatsächlich etwas zurückgeben, das **mehr Daten** enthält.
-Wir möchten auch, dass FastAPI die Daten weiterhin, dem Responsemodell entsprechend, **filtert**.
+Wir möchten, dass FastAPI die Daten weiterhin mithilfe des Responsemodells **filtert**. Selbst wenn die Funktion mehr Daten zurückgibt, soll die Response nur die Felder enthalten, die im Responsemodell deklariert sind.
Im vorherigen Beispiel mussten wir den `response_model`-Parameter verwenden, weil die Klassen unterschiedlich waren. Das bedeutet aber auch, wir bekommen keine Unterstützung vom Editor und anderen Tools, die den Funktions-Rückgabewert überprüfen.
@@ -138,7 +147,7 @@ Damit erhalten wir Tool-Unterstützung, vom Editor und mypy, da dieser Code hins
Wie funktioniert das? Schauen wir uns das mal an. 🤓
-### Typannotationen und Tooling
+### Typannotationen und Tooling { #type-annotations-and-tooling }
Sehen wir uns zunächst an, wie Editor, mypy und andere Tools dies sehen würden.
@@ -148,7 +157,7 @@ Wir annotieren den Funktionsrückgabetyp als `BaseUser`, geben aber tatsächlich
Für den Editor, mypy und andere Tools ist das kein Problem, da `UserIn` eine Unterklasse von `BaseUser` ist (Salopp: `UserIn` ist ein `BaseUser`). Es handelt sich um einen *gültigen* Typ, solange irgendetwas überreicht wird, das ein `BaseUser` ist.
-### FastAPI Datenfilterung
+### FastAPI Datenfilterung { #fastapi-data-filtering }
FastAPI seinerseits wird den Rückgabetyp sehen und sicherstellen, dass das, was zurückgegeben wird, **nur** diejenigen Felder enthält, welche im Typ deklariert sind.
@@ -156,7 +165,7 @@ FastAPI macht intern mehrere Dinge mit Pydantic, um sicherzustellen, dass obige
Auf diese Weise erhalten Sie das beste beider Welten: Sowohl Typannotationen mit **Tool-Unterstützung** als auch **Datenfilterung**.
-## Anzeige in der Dokumentation
+## Anzeige in der Dokumentation { #see-it-in-the-docs }
Wenn Sie sich die automatische Dokumentation betrachten, können Sie sehen, dass Eingabe- und Ausgabemodell beide ihr eigenes JSON-Schema haben:
@@ -166,11 +175,11 @@ Und beide Modelle werden auch in der interaktiven API-Dokumentation verwendet:
-## Andere Rückgabetyp-Annotationen
+## Andere Rückgabetyp-Annotationen { #other-return-type-annotations }
Es kann Fälle geben, bei denen Sie etwas zurückgeben, das kein gültiges Pydantic-Feld ist, und Sie annotieren es in der Funktion nur, um Unterstützung von Tools zu erhalten (Editor, mypy, usw.).
-### Eine Response direkt zurückgeben
+### Eine Response direkt zurückgeben { #return-a-response-directly }
Der häufigste Anwendungsfall ist, wenn Sie [eine Response direkt zurückgeben, wie es später im Handbuch für fortgeschrittene Benutzer erläutert wird](../advanced/response-directly.md){.internal-link target=_blank}.
@@ -180,7 +189,7 @@ Dieser einfache Anwendungsfall wird automatisch von FastAPI gehandhabt, weil die
Und Tools werden auch glücklich sein, weil sowohl `RedirectResponse` als auch `JSONResponse` Unterklassen von `Response` sind, die Typannotation ist daher korrekt.
-### Eine Unterklasse von Response annotieren
+### Eine Unterklasse von Response annotieren { #annotate-a-response-subclass }
Sie können auch eine Unterklasse von `Response` in der Typannotation verwenden.
@@ -188,7 +197,7 @@ Sie können auch eine Unterklasse von `Response` in der Typannotation verwenden.
Das wird ebenfalls funktionieren, weil `RedirectResponse` eine Unterklasse von `Response` ist, und FastAPI sich um diesen einfachen Anwendungsfall automatisch kümmert.
-### Ungültige Rückgabetyp-Annotationen
+### Ungültige Rückgabetyp-Annotationen { #invalid-return-type-annotations }
Aber wenn Sie ein beliebiges anderes Objekt zurückgeben, das kein gültiger Pydantic-Typ ist (z. B. ein Datenbank-Objekt), und Sie annotieren es so in der Funktion, wird FastAPI versuchen, ein Pydantic-Responsemodell von dieser Typannotation zu erstellen, und scheitern.
@@ -198,7 +207,7 @@ Das gleiche wird passieren, wenn Sie eine