Wenn in FastAPI ungültige Anforderungen auftreten, antwortet es normalerweise mit einem 422 Unprocessable Entity-Fehler. Diese Reaktion stimmt möglicherweise nicht immer mit der gewünschten Benutzererfahrung überein. So passen Sie die Fehlerreaktion an die spezifischen Anforderungen Ihrer Anwendung an.
Die Standardfehlerreaktion umfasst Details wie „Zusätzliche Daten“ und „Tatsächliche“ Daten. Um diese Antwort anzupassen, bietet FastAPI die Möglichkeit, den Ausnahmehandler für die Anforderungsvalidierung zu überschreiben. Wie im folgenden Codebeispiel gezeigt, können Sie einen benutzerdefinierten Handler definieren:
<code class="python">from fastapi import FastAPI, Body, Request, status from fastapi.encoders import jsonable_encoder from fastapi.exceptions import RequestValidationError from fastapi.responses import JSONResponse from pydantic import BaseModel app = FastAPI() @app.exception_handler(RequestValidationError) async def validation_exception_handler(request: Request, exc: RequestValidationError): return JSONResponse( status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, content=jsonable_encoder({ "detail": exc.errors(), # optionally include the errors "body": exc.body, "custom msg": "Your error message" }), )</code>
Alternativ können Sie eine PlainTextResponse mit einer benutzerdefinierten Fehlermeldung zurückgeben:
<code class="python">from fastapi.responses import PlainTextResponse @app.exception_handler(RequestValidationError) async def validation_exception_handler(request, exc): return PlainTextResponse(str(exc), status_code=422) </code>
Diese Anpassungsoptionen ermöglichen Sie können Fehlerantworten ordnungsgemäß behandeln und ein benutzerfreundliches Erlebnis bieten, selbst wenn ungültige Anfragen auftreten.
Das obige ist der detaillierte Inhalt vonSo passen Sie Fehlerantworten für FastAPI an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!