Anpassen der Fehlerbehandlung in FastAPI
Frage:
Beim Senden einer ungültigen JSON-Anfrage an Bei einem FastAPI-Backend wird ein Fehler mit einem nicht verarbeitbaren Entitätsstatuscode (422) ausgegeben. Die Antwort enthält ausführliche Fehlerdetails, die für eine benutzerfreundliche Fehlerbehandlung nicht ideal sind. Gibt es eine Möglichkeit, die Fehlerantwort anzupassen?
Antwort:
Um mit dieser Situation umzugehen und die Fehlerantwort anzupassen, können Sie den Ausnahmehandler für die Anforderungsvalidierung in FastAPI überschreiben . So implementieren Sie es:
Denken Sie zunächst daran, dass Sie ein ungültiges JSON übergeben und der Server daher korrekt mit dem Fehler „422 Unprocessable Entity“ antwortet.
Überschreiben des Ausnahmehandlers :
<code class="python">@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>
Eine PlainTextResponse zurückgeben:
Alternativ können Sie auch eine benutzerdefinierte Nachricht zurückgeben Fehlermeldung mit einer PlainTextResponse:
<code class="python">@app.exception_handler(RequestValidationError) async def validation_exception_handler(request, exc): return PlainTextResponse(str(exc), status_code=422)</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Fehlerantworten für ungültige JSON-Anfragen in FastAPI anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!