Wie kann ich Fehlerantworten für ungültige JSON-Anfragen in FastAPI anpassen?

Susan Sarandon
Freigeben: 2024-10-21 06:28:30
Original
733 Leute haben es durchsucht

How to Customize Error Responses for Invalid JSON Requests in FastAPI?

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 :

  1. Fügen Sie in Ihrer FastAPI-Anwendung den folgenden Code hinzu, um den Standard-Ausnahmehandler für RequestValidationError zu überschreiben:
<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>
Nach dem Login kopieren
  1. Im obigen Code , können Sie die Fehlermeldung anpassen, indem Sie den Wert von „custom msg“ ändern.

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!