### Die resultierende Response { #the-resulting-response }
Wenn der Client `http://example.com/items/foo` anfordert (ein `item_id``"foo"`), erhält dieser Client einen HTTP-Statuscode 200 und diese JSON-Response:
@ -69,7 +69,7 @@ Diese werden von **FastAPI** automatisch gehandhabt und in JSON konvertiert.
Sie können benutzerdefinierte Exception-Handler mit <ahref="https://www.starlette.io/exceptions/"class="external-link"target="_blank">den gleichen Exception-Werkzeugen von Starlette</a> hinzufügen.
@ -91,7 +91,7 @@ Sie könnten einen benutzerdefinierten Exception-Handler mit `@app.exception_han
Wenn Sie nun`/unicorns/yolo` anfordern, wird die *Pfadoperation* eine `UnicornException``raise`n.
Hier, wenn Sie`/unicorns/yolo` anfordern, wird die *Pfadoperation* eine `UnicornException``raise`n.
Aber diese wird von `unicorn_exception_handler` gehandhabt.
@ -109,7 +109,7 @@ Sie könnten auch `from starlette.requests import Request` und `from starlette.r
///
## Die Default-Exception-Handler überschreiben
## Die Default-Exception-Handler überschreiben { #override-the-default-exception-handlers }
**FastAPI** hat einige Default-Exception-Handler.
@ -117,7 +117,7 @@ Diese Handler sind dafür verantwortlich, die standardmäßigen JSON-Responses z
Sie können diese Exception-Handler mit Ihren eigenen überschreiben.
### Überschreiben von Request-Validierungs-Exceptions
### Überschreiben von Request-Validierungs-Exceptions { #override-request-validation-exceptions }
Wenn ein Request ungültige Daten enthält, löst **FastAPI** intern einen `RequestValidationError` aus.
@ -154,7 +154,7 @@ path -> item_id
value is not a valid integer (type=type_error.integer)
```
#### `RequestValidationError` vs. `ValidationError`
#### `RequestValidationError` vs. `ValidationError` { #requestvalidationerror-vs-validationerror }
/// warning | Achtung
@ -172,7 +172,7 @@ Es sollte so sein, denn wenn Sie einen Pydantic `ValidationError` in Ihrer *Resp
Und während Sie den Fehler beheben, sollten Ihre Clients/Benutzer keinen Zugriff auf interne Informationen über den Fehler haben, da das eine Sicherheitslücke aufdecken könnte.
### Überschreiben des `HTTPException`-Fehlerhandlers
### Überschreiben des `HTTPException`-Fehlerhandlers { #override-the-httpexception-error-handler }
Auf die gleiche Weise können Sie den `HTTPException`-Handler überschreiben.
@ -188,7 +188,7 @@ Sie könnten auch `from starlette.responses import PlainTextResponse` verwenden.
///
### Verwenden des `RequestValidationError`-Bodys
### Verwenden des `RequestValidationError`-Bodys { #use-the-requestvalidationerror-body }
Der `RequestValidationError` enthält den empfangenen `body` mit den ungültigen Daten.
@ -226,7 +226,7 @@ Sie erhalten eine Response, die Ihnen sagt, dass die Daten ungültig sind und di
}
```
#### FastAPIs `HTTPException` vs. Starlettes `HTTPException`
#### FastAPIs `HTTPException` vs. Starlettes `HTTPException` { #fastapis-httpexception-vs-starlettes-httpexception }
**FastAPI** hat seine eigene `HTTPException`.
@ -246,7 +246,7 @@ Um in diesem Beispiel beide `HTTPException`s im selben Code zu haben, wird die E
from starlette.exceptions import HTTPException as StarletteHTTPException
```
### Die Exceptionhandler von **FastAPI** wiederverwenden
### Die Exceptionhandler von **FastAPI** wiederverwenden { #reuse-fastapis-exception-handlers }
Wenn Sie die Exception zusammen mit den gleichen Default-Exceptionhandlern von **FastAPI** verwenden möchten, können Sie die Default-Exceptionhandler aus `fastapi.exception_handlers` importieren und wiederverwenden: